From 3279edab3328af80eda2b345fba8a5e588116713 Mon Sep 17 00:00:00 2001 From: vijay40 Date: Mon, 15 Dec 2014 15:32:47 +0530 Subject: [PATCH 01/48] Flow grammer is modified to allow each line ending without semicolon to improve readablity. The old declarations also work. One test is also included in flow.spec.js to test the changes. --- src/diagrams/flowchart/parser/flow.jison | 19 +++++ src/diagrams/flowchart/parser/flow.js | 92 ++++++++++++---------- src/diagrams/flowchart/parser/flow.spec.js | 16 ++++ 3 files changed, 84 insertions(+), 43 deletions(-) diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index d9498046c..e9b5a6d8e 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -120,13 +120,20 @@ expressions : graphConfig statements EOF + | graphConfig statements | graphConfig spaceListNewline statements EOF {$$=$1;} + | graphConfig spaceListNewline statements + {$$=$1;} ; graphConfig : GRAPH SPACE DIR SEMI { yy.setDirection($3);$$ = $3;} + | GRAPH SPACE DIR NEWLINE + { yy.setDirection($3);$$ = $3;} + | GRAPH SPACE DIR spaceList NEWLINE + { yy.setDirection($3);$$ = $3;} ; statements @@ -152,11 +159,23 @@ statement : commentStatement NEWLINE {$$='Comment';} | verticeStatement SEMI + | verticeStatement NEWLINE + | verticeStatement EOF | styleStatement SEMI + | styleStatement NEWLINE + | styleStatement EOF | linkStyleStatement SEMI + | linkStyleStatement NEWLINE + | linkStyleStatement EOF | classDefStatement SEMI + | classDefStatement NEWLINE + | classDefStatement EOF | classStatement SEMI + | classStatement NEWLINE + | classStatement EOF | clickStatement SEMI + | clickStatement NEWLINE + | clickStatement EOF ; verticeStatement: diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index ec06b28cd..76206d584 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,129 +72,135 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$Vi=[11,39,40,41,42],$Vj=[9,11,25,28,30,32,33,39,40,41,42],$Vk=[9,11,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],$Vl=[8,9,10,11,13,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$Vm=[6,9,13],$Vn=[1,102],$Vo=[1,94],$Vp=[1,103],$Vq=[1,92],$Vr=[1,81],$Vs=[1,82],$Vt=[1,79],$Vu=[1,80],$Vv=[1,83],$Vw=[1,84],$Vx=[1,77],$Vy=[1,76],$Vz=[1,95],$VA=[1,88],$VB=[1,89],$VC=[1,87],$VD=[1,90],$VE=[1,78],$VF=[1,97],$VG=[1,98],$VH=[1,99],$VI=[1,100],$VJ=[1,101],$VK=[1,85],$VL=[1,86],$VM=[1,91],$VN=[57,60,62,63,65,66,68,69,70],$VO=[9,43,57,60,62,63,65,66,68,69,70],$VP=[2,84],$VQ=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VR=[1,148],$VS=[1,145],$VT=[1,149],$VU=[1,146],$VV=[1,143],$VW=[1,144],$VX=[1,147],$VY=[1,150],$VZ=[1,151],$V_=[2,31],$V$=[1,162],$V01=[11,60],$V11=[9,11,36,56,57,60,62,63,64,65,66]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$Vj=[6,11,12],$Vk=[6,11,12,39,40,41,42],$Vl=[6,9,11,12,25,28,30,32,33,39,40,41,42],$Vm=[6,9,11,12,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],$Vn=[6,8,9,10,11,12,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$Vo=[1,6,9,12],$Vp=[1,114],$Vq=[1,106],$Vr=[1,115],$Vs=[1,104],$Vt=[1,93],$Vu=[1,94],$Vv=[1,91],$Vw=[1,92],$Vx=[1,95],$Vy=[1,96],$Vz=[1,89],$VA=[1,88],$VB=[1,107],$VC=[1,100],$VD=[1,101],$VE=[1,99],$VF=[1,102],$VG=[1,90],$VH=[1,109],$VI=[1,110],$VJ=[1,111],$VK=[1,112],$VL=[1,113],$VM=[1,97],$VN=[1,98],$VO=[1,103],$VP=[57,60,62,63,65,66,68,69,70],$VQ=[9,43,57,60,62,63,65,66,68,69,70],$VR=[1,137],$VS=[8,9,10,11,12,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$VT=[2,100],$VU=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VV=[9,12,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$VW=[1,165],$VX=[1,162],$VY=[1,166],$VZ=[1,163],$V_=[1,160],$V$=[1,161],$V01=[1,164],$V11=[1,167],$V21=[1,168],$V31=[2,47],$V41=[1,179],$V51=[6,11,12,60],$V61=[6,9,11,12,36,56,57,60,62,63,64,65,66]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"statement":12,"NEWLINE":13,"spaceList":14,"commentStatement":15,"verticeStatement":16,"styleStatement":17,"linkStyleStatement":18,"classDefStatement":19,"classStatement":20,"clickStatement":21,"vertex":22,"link":23,"alphaNum":24,"SQS":25,"text":26,"SQE":27,"PS":28,"PE":29,"DIAMOND_START":30,"DIAMOND_STOP":31,"TAGEND":32,"TAGSTART":33,"alphaNumStatement":34,"alphaNumToken":35,"MINUS":36,"linkStatement":37,"arrowText":38,"ARROW_POINT":39,"ARROW_CIRCLE":40,"ARROW_CROSS":41,"ARROW_OPEN":42,"PIPE":43,"textToken":44,"commentText":45,"commentToken":46,"keywords":47,"STYLE":48,"LINKSTYLE":49,"CLASSDEF":50,"CLASS":51,"CLICK":52,"textNoTags":53,"textNoTagsToken":54,"stylesOpt":55,"HEX":56,"NUM":57,"PCT":58,"style":59,"COMMA":60,"styleComponent":61,"ALPHA":62,"COLON":63,"UNIT":64,"BRKT":65,"DOT":66,"graphCodeTokens":67,"PLUS":68,"EQUALS":69,"MULT":70,"TAG_START":71,"TAG_END":72,"QUOTE":73,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",13:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"}, -productions_: [0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[14,2],[14,1],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"styleStatement":17,"linkStyleStatement":18,"classDefStatement":19,"classStatement":20,"clickStatement":21,"vertex":22,"link":23,"alphaNum":24,"SQS":25,"text":26,"SQE":27,"PS":28,"PE":29,"DIAMOND_START":30,"DIAMOND_STOP":31,"TAGEND":32,"TAGSTART":33,"alphaNumStatement":34,"alphaNumToken":35,"MINUS":36,"linkStatement":37,"arrowText":38,"ARROW_POINT":39,"ARROW_CIRCLE":40,"ARROW_CROSS":41,"ARROW_OPEN":42,"PIPE":43,"textToken":44,"commentText":45,"commentToken":46,"keywords":47,"STYLE":48,"LINKSTYLE":49,"CLASSDEF":50,"CLASS":51,"CLICK":52,"textNoTags":53,"textNoTagsToken":54,"stylesOpt":55,"HEX":56,"NUM":57,"PCT":58,"style":59,"COMMA":60,"styleComponent":61,"ALPHA":62,"COLON":63,"UNIT":64,"BRKT":65,"DOT":66,"graphCodeTokens":67,"PLUS":68,"EQUALS":69,"MULT":70,"TAG_START":71,"TAG_END":72,"QUOTE":73,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { -case 2: +case 3: this.$=$$[$0-3]; break; -case 3: +case 4: +this.$=$$[$0-2]; +break; +case 5: case 6: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; -case 12: +case 7: + yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; +break; +case 16: this.$='Comment'; break; -case 19: +case 35: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; -case 20: +case 36: this.$ = 'yo'; break; -case 21: +case 37: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 22: +case 38: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; -case 23: +case 39: this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; -case 24: +case 40: this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; -case 25: +case 41: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 26: +case 42: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 27: case 31: +case 43: case 47: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; -case 28: +case 44: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 29: +case 45: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 30: +case 46: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 32: +case 48: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 33: +case 49: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 34: case 36: case 47: case 49: case 58: +case 50: case 52: case 63: case 65: case 74: this.$=$$[$0]; break; -case 35: case 48: case 50: case 59: +case 51: case 64: case 66: case 75: this.$=$$[$0-1]+''+$$[$0]; break; -case 37: +case 53: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 38: +case 54: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 39: +case 55: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 40: +case 56: this.$ = $$[$0]; break; -case 41: case 46: +case 57: case 62: this.$ = $$[$0-1]; break; -case 42: +case 58: this.$ = {"type":"arrow"}; break; -case 43: +case 59: this.$ = {"type":"arrow_circle"}; break; -case 44: +case 60: this.$ = {"type":"arrow_cross"}; break; -case 45: +case 61: this.$ = {"type":"arrow_open"}; break; -case 60: +case 76: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 61: +case 77: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 62: +case 78: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 63: +case 79: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 64: case 65: +case 80: case 81: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 67: +case 83: this.$ = [$$[$0]] break; -case 68: +case 84: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 70: +case 86: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:6,13:$V1,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,35]},{6:[1,36]},{5:37,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{6:[2,5],7:38,9:$V0,13:$V1},o($Vh,[2,9],{7:39,9:$V0,13:$V1}),o($Vh,[2,8],{7:40,9:$V0,13:$V1}),{13:[1,41]},{11:[1,42]},{11:[1,43]},{11:[1,44]},{11:[1,45]},{11:[1,46]},{11:[1,47]},{58:[1,48]},{11:[2,20],23:49,37:50,39:[1,51],40:[1,52],41:[1,53],42:[1,54]},{9:[1,55]},{9:[1,56]},{9:[1,57]},{9:[1,58]},{9:[1,59]},o($Vi,[2,32],{9:[1,65],25:[1,60],28:[1,61],30:[1,62],32:[1,63],33:[1,64]}),o($Vj,[2,34],{34:24,35:25,24:66,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg}),o($Vk,[2,36],{36:[1,67]}),o($Vl,[2,89]),o($Vl,[2,90]),o($Vl,[2,91]),o($Vl,[2,92]),o($Vl,[2,93]),o($Vl,[2,94]),o($Vl,[2,95]),o($Vl,[2,96]),o($Vl,[2,97]),{10:[1,68]},{1:[2,1]},{6:[1,69]},{5:70,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vh,[2,6]),o($Vh,[2,7]),o($Vm,[2,12]),o($Vm,[2,13]),o($Vm,[2,14]),o($Vm,[2,15]),o($Vm,[2,16]),o($Vm,[2,17]),o($Vm,[2,18]),{8:$Vn,9:$Vo,10:$Vp,11:$Vq,25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,45:71,46:72,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},{22:104,24:23,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VN,[2,40],{38:105,9:[1,106],43:[1,107]}),o($VO,[2,42]),o($VO,[2,43]),o($VO,[2,44]),o($VO,[2,45]),{24:108,34:24,35:25,56:[1,109],57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{57:[1,110]},{24:111,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:112,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:113,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:114,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:117,28:[1,116],32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:118,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:119,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:120,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,33]),o($Vj,[2,35]),{35:121,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{11:[1,122]},{1:[2,2]},{6:[2,4]},{8:$Vn,9:$Vo,10:$Vp,11:$Vq,13:[2,66],25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,46:123,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},o($Vl,[2,49]),o($Vl,[2,80]),o($Vl,[2,81]),o($Vl,[2,82]),o($Vl,[2,83]),o($Vl,$VP),o($Vl,[2,98]),o($Vl,[2,99]),o($Vl,[2,100]),o($Vl,[2,101]),o($Vl,[2,102]),o($Vl,[2,103]),o($Vl,[2,104]),o($Vl,[2,105]),o($Vl,[2,106]),o($Vl,[2,107]),o($Vl,[2,108]),o($Vl,[2,109]),o($Vl,[2,110]),o($Vl,[2,111]),o($Vl,[2,112]),o($Vl,[2,85]),o($Vl,[2,86]),o($Vl,[2,87]),o($Vl,[2,88]),o($Vl,[2,51]),o($Vl,[2,52]),o($Vl,[2,53]),o($Vl,[2,54]),o($Vl,[2,55]),o($Vl,[2,56]),o($Vl,[2,57]),{11:[2,19]},o($VN,[2,38],{9:[1,124]}),o($VN,[2,41]),{8:$Vn,9:$Vo,10:$Vp,26:125,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,126]},{9:[1,127]},{9:[1,128]},{9:[1,129]},{9:[1,130]},{9:[1,131]},{8:$Vn,9:$Vo,10:$Vp,27:[1,132],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VQ,[2,47]),{8:$Vn,9:$Vo,10:$Vp,26:134,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,29:[1,135],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,31:[1,136],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,27:[1,137],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,32:[1,138],33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,37]),o([9,13,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],[2,3]),o($Vl,[2,50]),o($VN,[2,39]),{8:$Vn,9:$Vo,10:$Vp,32:$Vx,33:$Vy,35:93,36:$Vz,43:[1,139],44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VR,36:$VS,55:140,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:152,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:153,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:154,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{24:155,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:156,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,21],{9:[1,157]}),o($VQ,[2,48]),{8:$Vn,9:$Vo,10:$Vp,29:[1,158],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,25],{9:[1,159]}),o($Vi,[2,27],{9:[1,160]}),o($Vi,[2,29],{9:[1,161]}),o([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VP,{11:$V_,39:$V_,40:$V_,41:$V_,42:$V_}),o([9,57,60,62,63,65,66,68,69,70],[2,46]),{11:[2,63],60:$V$},o($V01,[2,67],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($V11,[2,69]),o($V11,[2,71]),o($V11,[2,72]),o($V11,[2,73]),o($V11,[2,74]),o($V11,[2,75]),o($V11,[2,76]),o($V11,[2,77]),o($V11,[2,78]),o($V11,[2,79]),{11:[2,64],60:$V$},{11:[2,65],60:$V$},{11:[2,60],60:$V$},{11:[2,61]},{11:[2,62]},o($Vi,[2,22]),{29:[1,164]},o($Vi,[2,26]),o($Vi,[2,28]),o($Vi,[2,30]),{9:$VR,36:$VS,56:$VT,57:$VU,59:165,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},o($V11,[2,70]),o($Vi,[2,23],{9:[1,166]}),o($V01,[2,68],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($Vi,[2,24])], -defaultActions: {36:[2,1],69:[2,2],70:[2,4],104:[2,19],155:[2,61],156:[2,62]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vh,[2,9],{7:38,9:$V0,12:$V1}),o($Vi,[2,13],{7:39,9:$V0,12:$V1}),o($Vi,[2,12],{7:40,9:$V0,12:$V1}),{12:[1,41]},{6:[1,44],11:[1,42],12:[1,43]},{6:[1,47],11:[1,45],12:[1,46]},{6:[1,50],11:[1,48],12:[1,49]},{6:[1,53],11:[1,51],12:[1,52]},{6:[1,56],11:[1,54],12:[1,55]},{6:[1,59],11:[1,57],12:[1,58]},{58:[1,60]},o($Vj,[2,36],{23:61,37:62,39:[1,63],40:[1,64],41:[1,65],42:[1,66]}),{9:[1,67]},{9:[1,68]},{9:[1,69]},{9:[1,70]},{9:[1,71]},o($Vk,[2,48],{9:[1,77],25:[1,72],28:[1,73],30:[1,74],32:[1,75],33:[1,76]}),o($Vl,[2,50],{34:24,35:25,24:78,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg}),o($Vm,[2,52],{36:[1,79]}),o($Vn,[2,105]),o($Vn,[2,106]),o($Vn,[2,107]),o($Vn,[2,108]),o($Vn,[2,109]),o($Vn,[2,110]),o($Vn,[2,111]),o($Vn,[2,112]),o($Vn,[2,113]),{10:[1,80]},{1:[2,1]},{1:[2,4],6:[1,81]},{5:82,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,10]),o($Vi,[2,11]),o($Vo,[2,16]),o($Vo,[2,17]),o($Vo,[2,18]),o($Vo,[2,19]),o($Vo,[2,20]),o($Vo,[2,21]),o($Vo,[2,22]),o($Vo,[2,23]),o($Vo,[2,24]),o($Vo,[2,25]),o($Vo,[2,26]),o($Vo,[2,27]),o($Vo,[2,28]),o($Vo,[2,29]),o($Vo,[2,30]),o($Vo,[2,31]),o($Vo,[2,32]),o($Vo,[2,33]),o($Vo,[2,34]),{8:$Vp,9:$Vq,10:$Vr,11:$Vs,25:$Vt,27:$Vu,28:$Vv,29:$Vw,30:$Vx,31:$Vy,32:$Vz,33:$VA,35:105,36:$VB,39:$VC,40:$VD,41:$VE,42:$VF,43:$VG,44:85,45:83,46:84,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:86,68:$Ve,69:$Vf,70:$Vg,71:$VM,72:$VN,73:$VO},{22:116,24:23,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VP,[2,56],{38:117,9:[1,118],43:[1,119]}),o($VQ,[2,58]),o($VQ,[2,59]),o($VQ,[2,60]),o($VQ,[2,61]),{24:120,34:24,35:25,56:[1,121],57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{57:[1,122]},{24:123,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:124,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:125,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:126,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:129,28:[1,128],32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:130,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:131,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:132,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,49]),o($Vl,[2,51]),{35:133,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VR,11:[1,134],12:[1,135],13:136},{1:[2,3]},o($Vh,[2,8]),{8:$Vp,9:$Vq,10:$Vr,11:$Vs,12:[2,82],25:$Vt,27:$Vu,28:$Vv,29:$Vw,30:$Vx,31:$Vy,32:$Vz,33:$VA,35:105,36:$VB,39:$VC,40:$VD,41:$VE,42:$VF,43:$VG,44:85,46:138,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:86,68:$Ve,69:$Vf,70:$Vg,71:$VM,72:$VN,73:$VO},o($VS,[2,65]),o($VS,[2,96]),o($VS,[2,97]),o($VS,[2,98]),o($VS,[2,99]),o($VS,$VT),o($VS,[2,114]),o($VS,[2,115]),o($VS,[2,116]),o($VS,[2,117]),o($VS,[2,118]),o($VS,[2,119]),o($VS,[2,120]),o($VS,[2,121]),o($VS,[2,122]),o($VS,[2,123]),o($VS,[2,124]),o($VS,[2,125]),o($VS,[2,126]),o($VS,[2,127]),o($VS,[2,128]),o($VS,[2,101]),o($VS,[2,102]),o($VS,[2,103]),o($VS,[2,104]),o($VS,[2,67]),o($VS,[2,68]),o($VS,[2,69]),o($VS,[2,70]),o($VS,[2,71]),o($VS,[2,72]),o($VS,[2,73]),o($Vj,[2,35]),o($VP,[2,54],{9:[1,139]}),o($VP,[2,57]),{8:$Vp,9:$Vq,10:$Vr,26:140,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,141]},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{8:$Vp,9:$Vq,10:$Vr,27:[1,147],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VU,[2,63]),{8:$Vp,9:$Vq,10:$Vr,26:149,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,29:[1,150],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,31:[1,151],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,27:[1,152],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,32:[1,153],33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vm,[2,53]),o($VV,[2,5]),o($VV,[2,6]),{12:[1,154]},{9:$VR,12:[2,15],13:155},o($VS,[2,66]),o($VP,[2,55]),{8:$Vp,9:$Vq,10:$Vr,32:$Vz,33:$VA,35:105,36:$VB,43:[1,156],44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VW,36:$VX,55:157,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:169,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:170,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:171,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{24:172,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:173,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,37],{9:[1,174]}),o($VU,[2,64]),{8:$Vp,9:$Vq,10:$Vr,29:[1,175],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,41],{9:[1,176]}),o($Vk,[2,43],{9:[1,177]}),o($Vk,[2,45],{9:[1,178]}),o([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VT,{6:$V31,11:$V31,12:$V31,39:$V31,40:$V31,41:$V31,42:$V31}),o($VV,[2,7]),{12:[2,14]},o([9,57,60,62,63,65,66,68,69,70],[2,62]),o($Vj,[2,79],{60:$V41}),o($V51,[2,83],{61:180,9:$VW,36:$VX,56:$VY,57:$VZ,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21}),o($V61,[2,85]),o($V61,[2,87]),o($V61,[2,88]),o($V61,[2,89]),o($V61,[2,90]),o($V61,[2,91]),o($V61,[2,92]),o($V61,[2,93]),o($V61,[2,94]),o($V61,[2,95]),o($Vj,[2,80],{60:$V41}),o($Vj,[2,81],{60:$V41}),o($Vj,[2,76],{60:$V41}),o($Vj,[2,77]),o($Vj,[2,78]),o($Vk,[2,38]),{29:[1,181]},o($Vk,[2,42]),o($Vk,[2,44]),o($Vk,[2,46]),{9:$VW,36:$VX,56:$VY,57:$VZ,59:182,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},o($V61,[2,86]),o($Vk,[2,39],{9:[1,183]}),o($V51,[2,84],{61:180,9:$VW,36:$VX,56:$VY,57:$VZ,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21}),o($Vk,[2,40])], +defaultActions: {36:[2,1],81:[2,3],155:[2,14]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -746,7 +752,7 @@ case 37:return 31 break; case 38:return 73; break; -case 39:return 13; +case 39:return 12; break; case 40:return 9; break; diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index b01d3c098..fa7e3b029 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -46,6 +46,22 @@ describe('when parsing ',function(){ expect(edges[0].text).toBe(''); }); + it('should handle a nodes and edges, a space between link and node and each line ending without semicolon',function(){ + var res = flow.parser.parse('graph TD\nA --> B\n style e red'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(1); + expect(edges[0].start).toBe('A'); + expect(edges[0].end).toBe('B'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); + it('should handle a comments',function(){ var res = flow.parser.parse('graph TD;\n%% CComment\n A-->B;'); From 5712c6de7bdca29a2950df1e6e0342ca8f0323a4 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 15 Dec 2014 19:35:09 +0100 Subject: [PATCH 02/48] Release 0.2.16 --- bower.json | 2 +- dist/mermaid.full.js | 206 +++++++++--------- dist/mermaid.full.min.js | 10 +- dist/mermaid.slim.js | 206 +++++++++--------- dist/mermaid.slim.min.js | 10 +- package.json | 2 +- src/diagrams/flowchart/parser/flow.jison | 28 +-- src/diagrams/flowchart/parser/flow.js | 143 ++++++------ src/diagrams/flowchart/parser/flow.spec.js | 15 ++ .../sequenceDiagram/sequenceRenderer.js | 51 ++--- test/web.html | 2 +- test/web_style.html | 4 +- 12 files changed, 324 insertions(+), 355 deletions(-) diff --git a/bower.json b/bower.json index b40287776..183ee91a5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.2.15", + "version": "0.2.16", "authors": [ "knsv " ], diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index a4b2dba0e..f6ee53a66 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13001,7 +13001,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.2.15", + "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "scripts": { @@ -14374,129 +14374,132 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$Vi=[11,39,40,41,42],$Vj=[9,11,25,28,30,32,33,39,40,41,42],$Vk=[9,11,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],$Vl=[8,9,10,11,13,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$Vm=[6,9,13],$Vn=[1,102],$Vo=[1,94],$Vp=[1,103],$Vq=[1,92],$Vr=[1,81],$Vs=[1,82],$Vt=[1,79],$Vu=[1,80],$Vv=[1,83],$Vw=[1,84],$Vx=[1,77],$Vy=[1,76],$Vz=[1,95],$VA=[1,88],$VB=[1,89],$VC=[1,87],$VD=[1,90],$VE=[1,78],$VF=[1,97],$VG=[1,98],$VH=[1,99],$VI=[1,100],$VJ=[1,101],$VK=[1,85],$VL=[1,86],$VM=[1,91],$VN=[57,60,62,63,65,66,68,69,70],$VO=[9,43,57,60,62,63,65,66,68,69,70],$VP=[2,84],$VQ=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VR=[1,148],$VS=[1,145],$VT=[1,149],$VU=[1,146],$VV=[1,143],$VW=[1,144],$VX=[1,147],$VY=[1,150],$VZ=[1,151],$V_=[2,31],$V$=[1,162],$V01=[11,60],$V11=[9,11,36,56,57,60,62,63,64,65,66]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"statement":12,"NEWLINE":13,"spaceList":14,"commentStatement":15,"verticeStatement":16,"styleStatement":17,"linkStyleStatement":18,"classDefStatement":19,"classStatement":20,"clickStatement":21,"vertex":22,"link":23,"alphaNum":24,"SQS":25,"text":26,"SQE":27,"PS":28,"PE":29,"DIAMOND_START":30,"DIAMOND_STOP":31,"TAGEND":32,"TAGSTART":33,"alphaNumStatement":34,"alphaNumToken":35,"MINUS":36,"linkStatement":37,"arrowText":38,"ARROW_POINT":39,"ARROW_CIRCLE":40,"ARROW_CROSS":41,"ARROW_OPEN":42,"PIPE":43,"textToken":44,"commentText":45,"commentToken":46,"keywords":47,"STYLE":48,"LINKSTYLE":49,"CLASSDEF":50,"CLASS":51,"CLICK":52,"textNoTags":53,"textNoTagsToken":54,"stylesOpt":55,"HEX":56,"NUM":57,"PCT":58,"style":59,"COMMA":60,"styleComponent":61,"ALPHA":62,"COLON":63,"UNIT":64,"BRKT":65,"DOT":66,"graphCodeTokens":67,"PLUS":68,"EQUALS":69,"MULT":70,"TAG_START":71,"TAG_END":72,"QUOTE":73,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",13:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"}, -productions_: [0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[14,2],[14,1],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { -case 2: +case 3: this.$=$$[$0-3]; break; -case 3: +case 4: +this.$=$$[$0-2]; +break; +case 5: case 6: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; -case 12: -this.$='Comment'; +case 7: + yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; break; -case 19: +case 27: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; -case 20: +case 28: this.$ = 'yo'; break; -case 21: +case 29: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 22: +case 30: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; -case 23: +case 31: this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; -case 24: +case 32: this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; -case 25: +case 33: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 26: +case 34: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 27: case 31: +case 35: case 39: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; -case 28: +case 36: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 29: +case 37: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 30: +case 38: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 32: +case 40: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 33: +case 41: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 34: case 36: case 47: case 49: case 58: +case 42: case 44: case 55: case 57: case 66: this.$=$$[$0]; break; -case 35: case 48: case 50: case 59: +case 43: case 56: case 58: case 67: this.$=$$[$0-1]+''+$$[$0]; break; -case 37: +case 45: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 38: +case 46: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 39: +case 47: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 40: +case 48: this.$ = $$[$0]; break; -case 41: case 46: +case 49: case 54: this.$ = $$[$0-1]; break; -case 42: +case 50: this.$ = {"type":"arrow"}; break; -case 43: +case 51: this.$ = {"type":"arrow_circle"}; break; -case 44: +case 52: this.$ = {"type":"arrow_cross"}; break; -case 45: +case 53: this.$ = {"type":"arrow_open"}; break; -case 60: +case 68: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 61: +case 69: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 62: +case 70: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 63: +case 71: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 64: case 65: +case 72: case 73: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 67: +case 75: this.$ = [$$[$0]] break; -case 68: +case 76: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 70: +case 78: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:6,13:$V1,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,35]},{6:[1,36]},{5:37,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{6:[2,5],7:38,9:$V0,13:$V1},o($Vh,[2,9],{7:39,9:$V0,13:$V1}),o($Vh,[2,8],{7:40,9:$V0,13:$V1}),{13:[1,41]},{11:[1,42]},{11:[1,43]},{11:[1,44]},{11:[1,45]},{11:[1,46]},{11:[1,47]},{58:[1,48]},{11:[2,20],23:49,37:50,39:[1,51],40:[1,52],41:[1,53],42:[1,54]},{9:[1,55]},{9:[1,56]},{9:[1,57]},{9:[1,58]},{9:[1,59]},o($Vi,[2,32],{9:[1,65],25:[1,60],28:[1,61],30:[1,62],32:[1,63],33:[1,64]}),o($Vj,[2,34],{34:24,35:25,24:66,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg}),o($Vk,[2,36],{36:[1,67]}),o($Vl,[2,89]),o($Vl,[2,90]),o($Vl,[2,91]),o($Vl,[2,92]),o($Vl,[2,93]),o($Vl,[2,94]),o($Vl,[2,95]),o($Vl,[2,96]),o($Vl,[2,97]),{10:[1,68]},{1:[2,1]},{6:[1,69]},{5:70,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vh,[2,6]),o($Vh,[2,7]),o($Vm,[2,12]),o($Vm,[2,13]),o($Vm,[2,14]),o($Vm,[2,15]),o($Vm,[2,16]),o($Vm,[2,17]),o($Vm,[2,18]),{8:$Vn,9:$Vo,10:$Vp,11:$Vq,25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,45:71,46:72,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},{22:104,24:23,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VN,[2,40],{38:105,9:[1,106],43:[1,107]}),o($VO,[2,42]),o($VO,[2,43]),o($VO,[2,44]),o($VO,[2,45]),{24:108,34:24,35:25,56:[1,109],57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{57:[1,110]},{24:111,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:112,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:113,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:114,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:117,28:[1,116],32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:118,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:119,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:120,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,33]),o($Vj,[2,35]),{35:121,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{11:[1,122]},{1:[2,2]},{6:[2,4]},{8:$Vn,9:$Vo,10:$Vp,11:$Vq,13:[2,66],25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,46:123,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},o($Vl,[2,49]),o($Vl,[2,80]),o($Vl,[2,81]),o($Vl,[2,82]),o($Vl,[2,83]),o($Vl,$VP),o($Vl,[2,98]),o($Vl,[2,99]),o($Vl,[2,100]),o($Vl,[2,101]),o($Vl,[2,102]),o($Vl,[2,103]),o($Vl,[2,104]),o($Vl,[2,105]),o($Vl,[2,106]),o($Vl,[2,107]),o($Vl,[2,108]),o($Vl,[2,109]),o($Vl,[2,110]),o($Vl,[2,111]),o($Vl,[2,112]),o($Vl,[2,85]),o($Vl,[2,86]),o($Vl,[2,87]),o($Vl,[2,88]),o($Vl,[2,51]),o($Vl,[2,52]),o($Vl,[2,53]),o($Vl,[2,54]),o($Vl,[2,55]),o($Vl,[2,56]),o($Vl,[2,57]),{11:[2,19]},o($VN,[2,38],{9:[1,124]}),o($VN,[2,41]),{8:$Vn,9:$Vo,10:$Vp,26:125,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,126]},{9:[1,127]},{9:[1,128]},{9:[1,129]},{9:[1,130]},{9:[1,131]},{8:$Vn,9:$Vo,10:$Vp,27:[1,132],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VQ,[2,47]),{8:$Vn,9:$Vo,10:$Vp,26:134,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,29:[1,135],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,31:[1,136],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,27:[1,137],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,32:[1,138],33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,37]),o([9,13,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],[2,3]),o($Vl,[2,50]),o($VN,[2,39]),{8:$Vn,9:$Vo,10:$Vp,32:$Vx,33:$Vy,35:93,36:$Vz,43:[1,139],44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VR,36:$VS,55:140,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:152,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:153,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:154,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{24:155,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:156,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,21],{9:[1,157]}),o($VQ,[2,48]),{8:$Vn,9:$Vo,10:$Vp,29:[1,158],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,25],{9:[1,159]}),o($Vi,[2,27],{9:[1,160]}),o($Vi,[2,29],{9:[1,161]}),o([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VP,{11:$V_,39:$V_,40:$V_,41:$V_,42:$V_}),o([9,57,60,62,63,65,66,68,69,70],[2,46]),{11:[2,63],60:$V$},o($V01,[2,67],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($V11,[2,69]),o($V11,[2,71]),o($V11,[2,72]),o($V11,[2,73]),o($V11,[2,74]),o($V11,[2,75]),o($V11,[2,76]),o($V11,[2,77]),o($V11,[2,78]),o($V11,[2,79]),{11:[2,64],60:$V$},{11:[2,65],60:$V$},{11:[2,60],60:$V$},{11:[2,61]},{11:[2,62]},o($Vi,[2,22]),{29:[1,164]},o($Vi,[2,26]),o($Vi,[2,28]),o($Vi,[2,30]),{9:$VR,36:$VS,56:$VT,57:$VU,59:165,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},o($V11,[2,70]),o($Vi,[2,23],{9:[1,166]}),o($V01,[2,68],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($Vi,[2,24])], -defaultActions: {36:[2,1],69:[2,2],70:[2,4],104:[2,19],155:[2,61],156:[2,62]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], +defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14970,15 +14973,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 48; +case 0:return 49; break; -case 1:return 49; +case 1:return 50; break; -case 2:return 50; +case 2:return 51; break; -case 3:return 51; +case 3:return 52; break; -case 4:return 52; +case 4:return 53; break; case 5:return 8; break; @@ -14994,61 +14997,61 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 57; +case 12:return 58; break; -case 13:return 65; +case 13:return 66; break; -case 14:return 63; +case 14:return 64; break; case 15:return 11; break; -case 16:return 60; +case 16:return 61; break; -case 17:return 69; +case 17:return 70; break; -case 18:return 70; +case 18:return 71; break; -case 19:return 66; +case 19:return 67; break; -case 20:return 33; +case 20:return 34; break; -case 21:return 32; +case 21:return 33; break; -case 22:return 41; +case 22:return 42; break; -case 23:return 39; +case 23:return 40; break; -case 24:return 40; +case 24:return 41; break; -case 25:return 42; +case 25:return 43; break; -case 26:return 36; +case 26:return 37; break; -case 27:return 68; +case 27:return 69; break; -case 28:return 58; +case 28:return 59; break; -case 29:return 69; +case 29:return 70; break; -case 30:return 62; +case 30:return 63; break; -case 31:return 43; +case 31:return 44; break; -case 32:return 28; +case 32:return 29; break; -case 33:return 29; +case 33:return 30; break; -case 34:return 25; +case 34:return 26; break; -case 35:return 27; +case 35:return 28; break; -case 36:return 30 +case 36:return 31 break; -case 37:return 31 +case 37:return 32 break; -case 38:return 73; +case 38:return 74; break; -case 39:return 13; +case 39:return 12; break; case 40:return 9; break; @@ -15870,18 +15873,6 @@ sq.yy = require('./sequenceDb'); * @param description The text in the box */ var drawNote = function(elem, startX, verticalPos, msg){ - var insertLinebreaks = function (d) { - var el = d3.select(this); - var words = d.split(' '); - el.text(''); - - for (var i = 0; i < words.length; i++) { - var tspan = el.append('tspan').text(words[i]); - if (i > 0) - tspan.attr('x', 0).attr('dy', '15'); - } - }; - var g = elem.append("g"); var rectElem = g.append("rect") .attr("x", startX + 25) @@ -15898,7 +15889,7 @@ var drawNote = function(elem, startX, verticalPos, msg){ .style("text-anchor", "start"); msg.message.split('
').forEach(function(rowText){ textElem.append("tspan") - .attr("x", startX + 35) + .attr("x", startX + 35 ) .attr("dy", '1em') .text(rowText); }); @@ -15906,14 +15897,26 @@ var drawNote = function(elem, startX, verticalPos, msg){ console.log('textElem.height'); console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); - //console.log(textElem.getBBox().height); - - //.text(msg.message + '\n' + msg.message) - return verticalPos + textElem[0][0].getBBox().height - 10; }; + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; + /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -15930,6 +15933,7 @@ module.exports.draw = function (text, id) { var height = 65; var yStartMargin = 10; var diagram = d3.select('#'+id); + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -15963,21 +15967,6 @@ module.exports.draw = function (text, id) { ; }; - /** - * Setup arrow head and define the marker. The result is appended to the svg. - */ - var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead - }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ var g = elem.append("g"); //Make an SVG Container @@ -16077,6 +16066,7 @@ module.exports.draw = function (text, id) { diagram.attr("height", verticalPos + 40); diagram.attr("width", maxX ); + diagram.attr("transform", 'translate(150 0)' ); }; },{"./parser/sequenceDiagram":107,"./sequenceDb":108}],110:[function(require,module,exports){ diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index a8f060d45..2a065c0b4 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,9 +30,9 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){D(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){x(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),_=e("./rank"),D=e("./util").normalizeRanks,x=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){x(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),_=e("./rank"),x=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},_=E.hasOwnProperty,D=function(e,t){return _.call(e,t) -},x=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):D(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&x(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&D(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,D(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)D(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(D,""):d).replace(x,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.15",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],_=[10,28,37,57,58],D=[2,49],x=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(_,D,{44:44,32:[1,43],45:x}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,D,{44:44,45:x}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],A=[11,39,40,41,42],w=[9,11,25,28,30,32,33,39,40,41,42],E=[9,11,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],_=[8,9,10,11,13,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],D=[6,9,13],x=[1,102],k=[1,94],C=[1,103],F=[1,92],B=[1,81],S=[1,82],L=[1,79],N=[1,80],q=[1,83],T=[1,84],I=[1,77],R=[1,76],O=[1,95],P=[1,88],j=[1,89],U=[1,87],V=[1,90],M=[1,78],G=[1,97],$=[1,98],H=[1,99],z=[1,100],Y=[1,101],W=[1,85],Z=[1,86],K=[1,91],J=[57,60,62,63,65,66,68,69,70],Q=[9,43,57,60,62,63,65,66,68,69,70],X=[2,84],et=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],tt=[1,148],rt=[1,145],nt=[1,149],it=[1,146],ut=[1,143],at=[1,144],ot=[1,147],st=[1,150],ct=[1,151],lt=[2,31],ht=[1,162],dt=[11,60],pt=[9,11,36,56,57,60,62,63,64,65,66],ft={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,NEWLINE:13,spaceList:14,commentStatement:15,verticeStatement:16,styleStatement:17,linkStyleStatement:18,classDefStatement:19,classStatement:20,clickStatement:21,vertex:22,link:23,alphaNum:24,SQS:25,text:26,SQE:27,PS:28,PE:29,DIAMOND_START:30,DIAMOND_STOP:31,TAGEND:32,TAGSTART:33,alphaNumStatement:34,alphaNumToken:35,MINUS:36,linkStatement:37,arrowText:38,ARROW_POINT:39,ARROW_CIRCLE:40,ARROW_CROSS:41,ARROW_OPEN:42,PIPE:43,textToken:44,commentText:45,commentToken:46,keywords:47,STYLE:48,LINKSTYLE:49,CLASSDEF:50,CLASS:51,CLICK:52,textNoTags:53,textNoTagsToken:54,stylesOpt:55,HEX:56,NUM:57,PCT:58,style:59,COMMA:60,styleComponent:61,ALPHA:62,COLON:63,UNIT:64,BRKT:65,DOT:66,graphCodeTokens:67,PLUS:68,EQUALS:69,MULT:70,TAG_START:71,TAG_END:72,QUOTE:73,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",13:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[14,2],[14,1],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 2:this.$=u[a-3];break;case 3:n.setDirection(u[a-1]),this.$=u[a-1];break;case 12:this.$="Comment";break;case 19:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 20:this.$="yo";break;case 21:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 22:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 23:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 24:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 25:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 26:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 27:case 31:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 28:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 32:this.$=u[a],n.addVertex(u[a]);break;case 33:this.$=u[a-1],n.addVertex(u[a-1]);break;case 34:case 36:case 47:case 49:case 58:this.$=u[a];break;case 35:case 48:case 50:case 59:this.$=u[a-1]+""+u[a];break;case 37:this.$=u[a-2]+"-"+u[a];break;case 38:u[a-1].text=u[a],this.$=u[a-1];break;case 39:u[a-2].text=u[a-1],this.$=u[a-2];break;case 40:this.$=u[a];break;case 41:case 46:this.$=u[a-1];break;case 42:this.$={type:"arrow"};break;case 43:this.$={type:"arrow_circle"};break;case 44:this.$={type:"arrow_cross"};break;case 45:this.$={type:"arrow_open"};break;case 60:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 61:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 62:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 63:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 64:case 65:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 67:this.$=[u[a]];break;case 68:u[a-2].push(u[a]),this.$=u[a-2];break;case 70:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:6,13:n,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:[1,35]},{6:[1,36]},{5:37,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{6:[2,5],7:38,9:r,13:n},t(b,[2,9],{7:39,9:r,13:n}),t(b,[2,8],{7:40,9:r,13:n}),{13:[1,41]},{11:[1,42]},{11:[1,43]},{11:[1,44]},{11:[1,45]},{11:[1,46]},{11:[1,47]},{58:[1,48]},{11:[2,20],23:49,37:50,39:[1,51],40:[1,52],41:[1,53],42:[1,54]},{9:[1,55]},{9:[1,56]},{9:[1,57]},{9:[1,58]},{9:[1,59]},t(A,[2,32],{9:[1,65],25:[1,60],28:[1,61],30:[1,62],32:[1,63],33:[1,64]}),t(w,[2,34],{34:24,35:25,24:66,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v}),t(E,[2,36],{36:[1,67]}),t(_,[2,89]),t(_,[2,90]),t(_,[2,91]),t(_,[2,92]),t(_,[2,93]),t(_,[2,94]),t(_,[2,95]),t(_,[2,96]),t(_,[2,97]),{10:[1,68]},{1:[2,1]},{6:[1,69]},{5:70,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(b,[2,6]),t(b,[2,7]),t(D,[2,12]),t(D,[2,13]),t(D,[2,14]),t(D,[2,15]),t(D,[2,16]),t(D,[2,17]),t(D,[2,18]),{8:x,9:k,10:C,11:F,25:B,27:S,28:L,29:N,30:q,31:T,32:I,33:R,35:93,36:O,39:P,40:j,41:U,42:V,43:M,44:73,45:71,46:72,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,67:74,68:y,69:m,70:v,71:W,72:Z,73:K},{22:104,24:23,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(J,[2,40],{38:105,9:[1,106],43:[1,107]}),t(Q,[2,42]),t(Q,[2,43]),t(Q,[2,44]),t(Q,[2,45]),{24:108,34:24,35:25,56:[1,109],57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{57:[1,110]},{24:111,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:112,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:113,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:114,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:117,28:[1,116],32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:118,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:119,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:120,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,33]),t(w,[2,35]),{35:121,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{11:[1,122]},{1:[2,2]},{6:[2,4]},{8:x,9:k,10:C,11:F,13:[2,66],25:B,27:S,28:L,29:N,30:q,31:T,32:I,33:R,35:93,36:O,39:P,40:j,41:U,42:V,43:M,44:73,46:123,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,67:74,68:y,69:m,70:v,71:W,72:Z,73:K},t(_,[2,49]),t(_,[2,80]),t(_,[2,81]),t(_,[2,82]),t(_,[2,83]),t(_,X),t(_,[2,98]),t(_,[2,99]),t(_,[2,100]),t(_,[2,101]),t(_,[2,102]),t(_,[2,103]),t(_,[2,104]),t(_,[2,105]),t(_,[2,106]),t(_,[2,107]),t(_,[2,108]),t(_,[2,109]),t(_,[2,110]),t(_,[2,111]),t(_,[2,112]),t(_,[2,85]),t(_,[2,86]),t(_,[2,87]),t(_,[2,88]),t(_,[2,51]),t(_,[2,52]),t(_,[2,53]),t(_,[2,54]),t(_,[2,55]),t(_,[2,56]),t(_,[2,57]),{11:[2,19]},t(J,[2,38],{9:[1,124]}),t(J,[2,41]),{8:x,9:k,10:C,26:125,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:[1,126]},{9:[1,127]},{9:[1,128]},{9:[1,129]},{9:[1,130]},{9:[1,131]},{8:x,9:k,10:C,27:[1,132],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(et,[2,47]),{8:x,9:k,10:C,26:134,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,29:[1,135],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,31:[1,136],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,27:[1,137],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,32:[1,138],33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(E,[2,37]),t([9,13,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],[2,3]),t(_,[2,50]),t(J,[2,39]),{8:x,9:k,10:C,32:I,33:R,35:93,36:O,43:[1,139],44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:tt,36:rt,55:140,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:152,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:153,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:154,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{24:155,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:156,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,21],{9:[1,157]}),t(et,[2,48]),{8:x,9:k,10:C,29:[1,158],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,25],{9:[1,159]}),t(A,[2,27],{9:[1,160]}),t(A,[2,29],{9:[1,161]}),t([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],X,{11:lt,39:lt,40:lt,41:lt,42:lt}),t([9,57,60,62,63,65,66,68,69,70],[2,46]),{11:[2,63],60:ht},t(dt,[2,67],{61:163,9:tt,36:rt,56:nt,57:it,62:ut,63:at,64:ot,65:st,66:ct}),t(pt,[2,69]),t(pt,[2,71]),t(pt,[2,72]),t(pt,[2,73]),t(pt,[2,74]),t(pt,[2,75]),t(pt,[2,76]),t(pt,[2,77]),t(pt,[2,78]),t(pt,[2,79]),{11:[2,64],60:ht},{11:[2,65],60:ht},{11:[2,60],60:ht},{11:[2,61]},{11:[2,62]},t(A,[2,22]),{29:[1,164]},t(A,[2,26]),t(A,[2,28]),t(A,[2,30]),{9:tt,36:rt,56:nt,57:it,59:165,61:142,62:ut,63:at,64:ot,65:st,66:ct},t(pt,[2,70]),t(A,[2,23],{9:[1,166]}),t(dt,[2,68],{61:163,9:tt,36:rt,56:nt,57:it,62:ut,63:at,64:ot,65:st,66:ct}),t(A,[2,24])],defaultActions:{36:[2,1],69:[2,2],70:[2,4],104:[2,19],155:[2,61],156:[2,62]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},gt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 48;case 1:return 49;case 2:return 50;case 3:return 51;case 4:return 52;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 57;case 13:return 65;case 14:return 63;case 15:return 11;case 16:return 60;case 17:return 69;case 18:return 70;case 19:return 66;case 20:return 33;case 21:return 32;case 22:return 41;case 23:return 39;case 24:return 40;case 25:return 42;case 26:return 36;case 27:return 68;case 28:return 58;case 29:return 69;case 30:return 62;case 31:return 43;case 32:return 28;case 33:return 29;case 34:return 25;case 35:return 27;case 36:return 30;case 37:return 31;case 38:return 73;case 39:return 13;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return ft.lexer=gt,e.prototype=ft,ft.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,r){var n={actor:e,placement:t,message:r};a.push(n)},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb"),t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var n,i=50,u=50,a=150,o=65,s=10,c=d3.select("#"+t),l=function(e,t,r,c){var l=e.append("g");l.append("line").attr("x1",t).attr("y1",s).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),l.append("rect").attr("x",i+r*u+150*n).attr("y",s).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a).attr("height",o).attr("rx",3).attr("ry",3),l.append("text").attr("x",i+r*u+n*a+75).attr("y",s+37.5).style("text-anchor","middle").text(c)},h=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},d=function(e,t,r,n,i,u){var a=e.append("g");1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},p=r.yy.getActors(),f=r.yy.getActorKeys(),g=r.yy.getMessages(),y=0;for(n=0;n/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var u,a=50,o=50,s=150,c=65,l=10,h=d3.select("#"+t),d=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",l).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",a+r*o+150*u).attr("y",l).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s).attr("height",c).attr("rx",3).attr("ry",3),i.append("text").attr("x",a+r*o+u*s+75).attr("y",l+37.5).style("text-anchor","middle").text(n)},p=function(e,t,r,n,i,u){var a=e.append("g");2!==u.type?(1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)):a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0;for(u=0;u/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 44efdaf23..47198f31f 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -12969,7 +12969,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.2.15", + "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "scripts": { @@ -14342,129 +14342,132 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$Vi=[11,39,40,41,42],$Vj=[9,11,25,28,30,32,33,39,40,41,42],$Vk=[9,11,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],$Vl=[8,9,10,11,13,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$Vm=[6,9,13],$Vn=[1,102],$Vo=[1,94],$Vp=[1,103],$Vq=[1,92],$Vr=[1,81],$Vs=[1,82],$Vt=[1,79],$Vu=[1,80],$Vv=[1,83],$Vw=[1,84],$Vx=[1,77],$Vy=[1,76],$Vz=[1,95],$VA=[1,88],$VB=[1,89],$VC=[1,87],$VD=[1,90],$VE=[1,78],$VF=[1,97],$VG=[1,98],$VH=[1,99],$VI=[1,100],$VJ=[1,101],$VK=[1,85],$VL=[1,86],$VM=[1,91],$VN=[57,60,62,63,65,66,68,69,70],$VO=[9,43,57,60,62,63,65,66,68,69,70],$VP=[2,84],$VQ=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VR=[1,148],$VS=[1,145],$VT=[1,149],$VU=[1,146],$VV=[1,143],$VW=[1,144],$VX=[1,147],$VY=[1,150],$VZ=[1,151],$V_=[2,31],$V$=[1,162],$V01=[11,60],$V11=[9,11,36,56,57,60,62,63,64,65,66]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"statement":12,"NEWLINE":13,"spaceList":14,"commentStatement":15,"verticeStatement":16,"styleStatement":17,"linkStyleStatement":18,"classDefStatement":19,"classStatement":20,"clickStatement":21,"vertex":22,"link":23,"alphaNum":24,"SQS":25,"text":26,"SQE":27,"PS":28,"PE":29,"DIAMOND_START":30,"DIAMOND_STOP":31,"TAGEND":32,"TAGSTART":33,"alphaNumStatement":34,"alphaNumToken":35,"MINUS":36,"linkStatement":37,"arrowText":38,"ARROW_POINT":39,"ARROW_CIRCLE":40,"ARROW_CROSS":41,"ARROW_OPEN":42,"PIPE":43,"textToken":44,"commentText":45,"commentToken":46,"keywords":47,"STYLE":48,"LINKSTYLE":49,"CLASSDEF":50,"CLASS":51,"CLICK":52,"textNoTags":53,"textNoTagsToken":54,"stylesOpt":55,"HEX":56,"NUM":57,"PCT":58,"style":59,"COMMA":60,"styleComponent":61,"ALPHA":62,"COLON":63,"UNIT":64,"BRKT":65,"DOT":66,"graphCodeTokens":67,"PLUS":68,"EQUALS":69,"MULT":70,"TAG_START":71,"TAG_END":72,"QUOTE":73,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",13:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"}, -productions_: [0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[14,2],[14,1],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { -case 2: +case 3: this.$=$$[$0-3]; break; -case 3: +case 4: +this.$=$$[$0-2]; +break; +case 5: case 6: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; -case 12: -this.$='Comment'; +case 7: + yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; break; -case 19: +case 27: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; -case 20: +case 28: this.$ = 'yo'; break; -case 21: +case 29: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 22: +case 30: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; -case 23: +case 31: this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; -case 24: +case 32: this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; -case 25: +case 33: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 26: +case 34: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 27: case 31: +case 35: case 39: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; -case 28: +case 36: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 29: +case 37: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 30: +case 38: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 32: +case 40: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 33: +case 41: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 34: case 36: case 47: case 49: case 58: +case 42: case 44: case 55: case 57: case 66: this.$=$$[$0]; break; -case 35: case 48: case 50: case 59: +case 43: case 56: case 58: case 67: this.$=$$[$0-1]+''+$$[$0]; break; -case 37: +case 45: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 38: +case 46: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 39: +case 47: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 40: +case 48: this.$ = $$[$0]; break; -case 41: case 46: +case 49: case 54: this.$ = $$[$0-1]; break; -case 42: +case 50: this.$ = {"type":"arrow"}; break; -case 43: +case 51: this.$ = {"type":"arrow_circle"}; break; -case 44: +case 52: this.$ = {"type":"arrow_cross"}; break; -case 45: +case 53: this.$ = {"type":"arrow_open"}; break; -case 60: +case 68: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 61: +case 69: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 62: +case 70: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 63: +case 71: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 64: case 65: +case 72: case 73: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 67: +case 75: this.$ = [$$[$0]] break; -case 68: +case 76: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 70: +case 78: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:6,13:$V1,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,35]},{6:[1,36]},{5:37,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{6:[2,5],7:38,9:$V0,13:$V1},o($Vh,[2,9],{7:39,9:$V0,13:$V1}),o($Vh,[2,8],{7:40,9:$V0,13:$V1}),{13:[1,41]},{11:[1,42]},{11:[1,43]},{11:[1,44]},{11:[1,45]},{11:[1,46]},{11:[1,47]},{58:[1,48]},{11:[2,20],23:49,37:50,39:[1,51],40:[1,52],41:[1,53],42:[1,54]},{9:[1,55]},{9:[1,56]},{9:[1,57]},{9:[1,58]},{9:[1,59]},o($Vi,[2,32],{9:[1,65],25:[1,60],28:[1,61],30:[1,62],32:[1,63],33:[1,64]}),o($Vj,[2,34],{34:24,35:25,24:66,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg}),o($Vk,[2,36],{36:[1,67]}),o($Vl,[2,89]),o($Vl,[2,90]),o($Vl,[2,91]),o($Vl,[2,92]),o($Vl,[2,93]),o($Vl,[2,94]),o($Vl,[2,95]),o($Vl,[2,96]),o($Vl,[2,97]),{10:[1,68]},{1:[2,1]},{6:[1,69]},{5:70,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vh,[2,6]),o($Vh,[2,7]),o($Vm,[2,12]),o($Vm,[2,13]),o($Vm,[2,14]),o($Vm,[2,15]),o($Vm,[2,16]),o($Vm,[2,17]),o($Vm,[2,18]),{8:$Vn,9:$Vo,10:$Vp,11:$Vq,25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,45:71,46:72,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},{22:104,24:23,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VN,[2,40],{38:105,9:[1,106],43:[1,107]}),o($VO,[2,42]),o($VO,[2,43]),o($VO,[2,44]),o($VO,[2,45]),{24:108,34:24,35:25,56:[1,109],57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{57:[1,110]},{24:111,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:112,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:113,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:114,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:117,28:[1,116],32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:118,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:119,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,26:120,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,33]),o($Vj,[2,35]),{35:121,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{11:[1,122]},{1:[2,2]},{6:[2,4]},{8:$Vn,9:$Vo,10:$Vp,11:$Vq,13:[2,66],25:$Vr,27:$Vs,28:$Vt,29:$Vu,30:$Vv,31:$Vw,32:$Vx,33:$Vy,35:93,36:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:73,46:123,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:74,68:$Ve,69:$Vf,70:$Vg,71:$VK,72:$VL,73:$VM},o($Vl,[2,49]),o($Vl,[2,80]),o($Vl,[2,81]),o($Vl,[2,82]),o($Vl,[2,83]),o($Vl,$VP),o($Vl,[2,98]),o($Vl,[2,99]),o($Vl,[2,100]),o($Vl,[2,101]),o($Vl,[2,102]),o($Vl,[2,103]),o($Vl,[2,104]),o($Vl,[2,105]),o($Vl,[2,106]),o($Vl,[2,107]),o($Vl,[2,108]),o($Vl,[2,109]),o($Vl,[2,110]),o($Vl,[2,111]),o($Vl,[2,112]),o($Vl,[2,85]),o($Vl,[2,86]),o($Vl,[2,87]),o($Vl,[2,88]),o($Vl,[2,51]),o($Vl,[2,52]),o($Vl,[2,53]),o($Vl,[2,54]),o($Vl,[2,55]),o($Vl,[2,56]),o($Vl,[2,57]),{11:[2,19]},o($VN,[2,38],{9:[1,124]}),o($VN,[2,41]),{8:$Vn,9:$Vo,10:$Vp,26:125,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,126]},{9:[1,127]},{9:[1,128]},{9:[1,129]},{9:[1,130]},{9:[1,131]},{8:$Vn,9:$Vo,10:$Vp,27:[1,132],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VQ,[2,47]),{8:$Vn,9:$Vo,10:$Vp,26:134,32:$Vx,33:$Vy,35:93,36:$Vz,44:115,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,29:[1,135],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,31:[1,136],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,27:[1,137],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vn,9:$Vo,10:$Vp,32:[1,138],33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,37]),o([9,13,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],[2,3]),o($Vl,[2,50]),o($VN,[2,39]),{8:$Vn,9:$Vo,10:$Vp,32:$Vx,33:$Vy,35:93,36:$Vz,43:[1,139],44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VR,36:$VS,55:140,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:152,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:153,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{9:$VR,36:$VS,55:154,56:$VT,57:$VU,59:141,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},{24:155,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:156,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,21],{9:[1,157]}),o($VQ,[2,48]),{8:$Vn,9:$Vo,10:$Vp,29:[1,158],32:$Vx,33:$Vy,35:93,36:$Vz,44:133,47:96,48:$VF,49:$VG,50:$VH,51:$VI,52:$VJ,54:75,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,25],{9:[1,159]}),o($Vi,[2,27],{9:[1,160]}),o($Vi,[2,29],{9:[1,161]}),o([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VP,{11:$V_,39:$V_,40:$V_,41:$V_,42:$V_}),o([9,57,60,62,63,65,66,68,69,70],[2,46]),{11:[2,63],60:$V$},o($V01,[2,67],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($V11,[2,69]),o($V11,[2,71]),o($V11,[2,72]),o($V11,[2,73]),o($V11,[2,74]),o($V11,[2,75]),o($V11,[2,76]),o($V11,[2,77]),o($V11,[2,78]),o($V11,[2,79]),{11:[2,64],60:$V$},{11:[2,65],60:$V$},{11:[2,60],60:$V$},{11:[2,61]},{11:[2,62]},o($Vi,[2,22]),{29:[1,164]},o($Vi,[2,26]),o($Vi,[2,28]),o($Vi,[2,30]),{9:$VR,36:$VS,56:$VT,57:$VU,59:165,61:142,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ},o($V11,[2,70]),o($Vi,[2,23],{9:[1,166]}),o($V01,[2,68],{61:163,9:$VR,36:$VS,56:$VT,57:$VU,62:$VV,63:$VW,64:$VX,65:$VY,66:$VZ}),o($Vi,[2,24])], -defaultActions: {36:[2,1],69:[2,2],70:[2,4],104:[2,19],155:[2,61],156:[2,62]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], +defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14938,15 +14941,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 48; +case 0:return 49; break; -case 1:return 49; +case 1:return 50; break; -case 2:return 50; +case 2:return 51; break; -case 3:return 51; +case 3:return 52; break; -case 4:return 52; +case 4:return 53; break; case 5:return 8; break; @@ -14962,61 +14965,61 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 57; +case 12:return 58; break; -case 13:return 65; +case 13:return 66; break; -case 14:return 63; +case 14:return 64; break; case 15:return 11; break; -case 16:return 60; +case 16:return 61; break; -case 17:return 69; +case 17:return 70; break; -case 18:return 70; +case 18:return 71; break; -case 19:return 66; +case 19:return 67; break; -case 20:return 33; +case 20:return 34; break; -case 21:return 32; +case 21:return 33; break; -case 22:return 41; +case 22:return 42; break; -case 23:return 39; +case 23:return 40; break; -case 24:return 40; +case 24:return 41; break; -case 25:return 42; +case 25:return 43; break; -case 26:return 36; +case 26:return 37; break; -case 27:return 68; +case 27:return 69; break; -case 28:return 58; +case 28:return 59; break; -case 29:return 69; +case 29:return 70; break; -case 30:return 62; +case 30:return 63; break; -case 31:return 43; +case 31:return 44; break; -case 32:return 28; +case 32:return 29; break; -case 33:return 29; +case 33:return 30; break; -case 34:return 25; +case 34:return 26; break; -case 35:return 27; +case 35:return 28; break; -case 36:return 30 +case 36:return 31 break; -case 37:return 31 +case 37:return 32 break; -case 38:return 73; +case 38:return 74; break; -case 39:return 13; +case 39:return 12; break; case 40:return 9; break; @@ -15838,18 +15841,6 @@ sq.yy = require('./sequenceDb'); * @param description The text in the box */ var drawNote = function(elem, startX, verticalPos, msg){ - var insertLinebreaks = function (d) { - var el = d3.select(this); - var words = d.split(' '); - el.text(''); - - for (var i = 0; i < words.length; i++) { - var tspan = el.append('tspan').text(words[i]); - if (i > 0) - tspan.attr('x', 0).attr('dy', '15'); - } - }; - var g = elem.append("g"); var rectElem = g.append("rect") .attr("x", startX + 25) @@ -15866,7 +15857,7 @@ var drawNote = function(elem, startX, verticalPos, msg){ .style("text-anchor", "start"); msg.message.split('
').forEach(function(rowText){ textElem.append("tspan") - .attr("x", startX + 35) + .attr("x", startX + 35 ) .attr("dy", '1em') .text(rowText); }); @@ -15874,14 +15865,26 @@ var drawNote = function(elem, startX, verticalPos, msg){ console.log('textElem.height'); console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); - //console.log(textElem.getBBox().height); - - //.text(msg.message + '\n' + msg.message) - return verticalPos + textElem[0][0].getBBox().height - 10; }; + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; + /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -15898,6 +15901,7 @@ module.exports.draw = function (text, id) { var height = 65; var yStartMargin = 10; var diagram = d3.select('#'+id); + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -15931,21 +15935,6 @@ module.exports.draw = function (text, id) { ; }; - /** - * Setup arrow head and define the marker. The result is appended to the svg. - */ - var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead - }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ var g = elem.append("g"); //Make an SVG Container @@ -16045,6 +16034,7 @@ module.exports.draw = function (text, id) { diagram.attr("height", verticalPos + 40); diagram.attr("width", maxX ); + diagram.attr("transform", 'translate(150 0)' ); }; },{"./parser/sequenceDiagram":107,"./sequenceDb":108}],110:[function(require,module,exports){ diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 8faf684dd..5680b309a 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,6 +1,6 @@ -!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){D(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){x(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),_=e("./rank"),D=e("./util").normalizeRanks,x=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){x(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),_=e("./rank"),x=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},_=E.hasOwnProperty,D=function(e,t){return _.call(e,t) -},x=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):D(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&x(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&D(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,D(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)D(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(D,""):d).replace(x,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.15",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],_=[10,28,37,57,58],D=[2,49],x=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(_,D,{44:44,32:[1,43],45:x}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,D,{44:44,45:x}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],A=[11,39,40,41,42],w=[9,11,25,28,30,32,33,39,40,41,42],E=[9,11,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],_=[8,9,10,11,13,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],D=[6,9,13],x=[1,102],k=[1,94],C=[1,103],F=[1,92],B=[1,81],S=[1,82],L=[1,79],N=[1,80],q=[1,83],T=[1,84],I=[1,77],R=[1,76],O=[1,95],P=[1,88],j=[1,89],U=[1,87],V=[1,90],M=[1,78],G=[1,97],$=[1,98],H=[1,99],z=[1,100],Y=[1,101],W=[1,85],Z=[1,86],K=[1,91],J=[57,60,62,63,65,66,68,69,70],Q=[9,43,57,60,62,63,65,66,68,69,70],X=[2,84],et=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],tt=[1,148],rt=[1,145],nt=[1,149],it=[1,146],ut=[1,143],at=[1,144],ot=[1,147],st=[1,150],ct=[1,151],lt=[2,31],ht=[1,162],dt=[11,60],pt=[9,11,36,56,57,60,62,63,64,65,66],ft={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,statement:12,NEWLINE:13,spaceList:14,commentStatement:15,verticeStatement:16,styleStatement:17,linkStyleStatement:18,classDefStatement:19,classStatement:20,clickStatement:21,vertex:22,link:23,alphaNum:24,SQS:25,text:26,SQE:27,PS:28,PE:29,DIAMOND_START:30,DIAMOND_STOP:31,TAGEND:32,TAGSTART:33,alphaNumStatement:34,alphaNumToken:35,MINUS:36,linkStatement:37,arrowText:38,ARROW_POINT:39,ARROW_CIRCLE:40,ARROW_CROSS:41,ARROW_OPEN:42,PIPE:43,textToken:44,commentText:45,commentToken:46,keywords:47,STYLE:48,LINKSTYLE:49,CLASSDEF:50,CLASS:51,CLICK:52,textNoTags:53,textNoTagsToken:54,stylesOpt:55,HEX:56,NUM:57,PCT:58,style:59,COMMA:60,styleComponent:61,ALPHA:62,COLON:63,UNIT:64,BRKT:65,DOT:66,graphCodeTokens:67,PLUS:68,EQUALS:69,MULT:70,TAG_START:71,TAG_END:72,QUOTE:73,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",13:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"},productions_:[0,[3,3],[3,4],[4,4],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[14,2],[14,1],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[12,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 2:this.$=u[a-3];break;case 3:n.setDirection(u[a-1]),this.$=u[a-1];break;case 12:this.$="Comment";break;case 19:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 20:this.$="yo";break;case 21:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 22:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 23:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 24:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 25:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 26:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 27:case 31:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 28:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 32:this.$=u[a],n.addVertex(u[a]);break;case 33:this.$=u[a-1],n.addVertex(u[a-1]);break;case 34:case 36:case 47:case 49:case 58:this.$=u[a];break;case 35:case 48:case 50:case 59:this.$=u[a-1]+""+u[a];break;case 37:this.$=u[a-2]+"-"+u[a];break;case 38:u[a-1].text=u[a],this.$=u[a-1];break;case 39:u[a-2].text=u[a-1],this.$=u[a-2];break;case 40:this.$=u[a];break;case 41:case 46:this.$=u[a-1];break;case 42:this.$={type:"arrow"};break;case 43:this.$={type:"arrow_circle"};break;case 44:this.$={type:"arrow_cross"};break;case 45:this.$={type:"arrow_open"};break;case 60:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 61:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 62:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 63:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 64:case 65:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 67:this.$=[u[a]];break;case 68:u[a-2].push(u[a]),this.$=u[a-2];break;case 70:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:6,13:n,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:[1,35]},{6:[1,36]},{5:37,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{6:[2,5],7:38,9:r,13:n},t(b,[2,9],{7:39,9:r,13:n}),t(b,[2,8],{7:40,9:r,13:n}),{13:[1,41]},{11:[1,42]},{11:[1,43]},{11:[1,44]},{11:[1,45]},{11:[1,46]},{11:[1,47]},{58:[1,48]},{11:[2,20],23:49,37:50,39:[1,51],40:[1,52],41:[1,53],42:[1,54]},{9:[1,55]},{9:[1,56]},{9:[1,57]},{9:[1,58]},{9:[1,59]},t(A,[2,32],{9:[1,65],25:[1,60],28:[1,61],30:[1,62],32:[1,63],33:[1,64]}),t(w,[2,34],{34:24,35:25,24:66,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v}),t(E,[2,36],{36:[1,67]}),t(_,[2,89]),t(_,[2,90]),t(_,[2,91]),t(_,[2,92]),t(_,[2,93]),t(_,[2,94]),t(_,[2,95]),t(_,[2,96]),t(_,[2,97]),{10:[1,68]},{1:[2,1]},{6:[1,69]},{5:70,12:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:i,49:u,50:a,51:o,52:s,57:c,58:l,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(b,[2,6]),t(b,[2,7]),t(D,[2,12]),t(D,[2,13]),t(D,[2,14]),t(D,[2,15]),t(D,[2,16]),t(D,[2,17]),t(D,[2,18]),{8:x,9:k,10:C,11:F,25:B,27:S,28:L,29:N,30:q,31:T,32:I,33:R,35:93,36:O,39:P,40:j,41:U,42:V,43:M,44:73,45:71,46:72,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,67:74,68:y,69:m,70:v,71:W,72:Z,73:K},{22:104,24:23,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(J,[2,40],{38:105,9:[1,106],43:[1,107]}),t(Q,[2,42]),t(Q,[2,43]),t(Q,[2,44]),t(Q,[2,45]),{24:108,34:24,35:25,56:[1,109],57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{57:[1,110]},{24:111,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:112,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:113,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:114,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:117,28:[1,116],32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:118,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:119,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,26:120,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,33]),t(w,[2,35]),{35:121,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{11:[1,122]},{1:[2,2]},{6:[2,4]},{8:x,9:k,10:C,11:F,13:[2,66],25:B,27:S,28:L,29:N,30:q,31:T,32:I,33:R,35:93,36:O,39:P,40:j,41:U,42:V,43:M,44:73,46:123,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,67:74,68:y,69:m,70:v,71:W,72:Z,73:K},t(_,[2,49]),t(_,[2,80]),t(_,[2,81]),t(_,[2,82]),t(_,[2,83]),t(_,X),t(_,[2,98]),t(_,[2,99]),t(_,[2,100]),t(_,[2,101]),t(_,[2,102]),t(_,[2,103]),t(_,[2,104]),t(_,[2,105]),t(_,[2,106]),t(_,[2,107]),t(_,[2,108]),t(_,[2,109]),t(_,[2,110]),t(_,[2,111]),t(_,[2,112]),t(_,[2,85]),t(_,[2,86]),t(_,[2,87]),t(_,[2,88]),t(_,[2,51]),t(_,[2,52]),t(_,[2,53]),t(_,[2,54]),t(_,[2,55]),t(_,[2,56]),t(_,[2,57]),{11:[2,19]},t(J,[2,38],{9:[1,124]}),t(J,[2,41]),{8:x,9:k,10:C,26:125,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:[1,126]},{9:[1,127]},{9:[1,128]},{9:[1,129]},{9:[1,130]},{9:[1,131]},{8:x,9:k,10:C,27:[1,132],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(et,[2,47]),{8:x,9:k,10:C,26:134,32:I,33:R,35:93,36:O,44:115,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,29:[1,135],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,31:[1,136],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,27:[1,137],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{8:x,9:k,10:C,32:[1,138],33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(E,[2,37]),t([9,13,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],[2,3]),t(_,[2,50]),t(J,[2,39]),{8:x,9:k,10:C,32:I,33:R,35:93,36:O,43:[1,139],44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{9:tt,36:rt,55:140,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:152,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:153,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{9:tt,36:rt,55:154,56:nt,57:it,59:141,61:142,62:ut,63:at,64:ot,65:st,66:ct},{24:155,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},{24:156,34:24,35:25,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,21],{9:[1,157]}),t(et,[2,48]),{8:x,9:k,10:C,29:[1,158],32:I,33:R,35:93,36:O,44:133,47:96,48:G,49:$,50:H,51:z,52:Y,54:75,57:c,60:h,62:d,63:p,65:f,66:g,68:y,69:m,70:v},t(A,[2,25],{9:[1,159]}),t(A,[2,27],{9:[1,160]}),t(A,[2,29],{9:[1,161]}),t([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],X,{11:lt,39:lt,40:lt,41:lt,42:lt}),t([9,57,60,62,63,65,66,68,69,70],[2,46]),{11:[2,63],60:ht},t(dt,[2,67],{61:163,9:tt,36:rt,56:nt,57:it,62:ut,63:at,64:ot,65:st,66:ct}),t(pt,[2,69]),t(pt,[2,71]),t(pt,[2,72]),t(pt,[2,73]),t(pt,[2,74]),t(pt,[2,75]),t(pt,[2,76]),t(pt,[2,77]),t(pt,[2,78]),t(pt,[2,79]),{11:[2,64],60:ht},{11:[2,65],60:ht},{11:[2,60],60:ht},{11:[2,61]},{11:[2,62]},t(A,[2,22]),{29:[1,164]},t(A,[2,26]),t(A,[2,28]),t(A,[2,30]),{9:tt,36:rt,56:nt,57:it,59:165,61:142,62:ut,63:at,64:ot,65:st,66:ct},t(pt,[2,70]),t(A,[2,23],{9:[1,166]}),t(dt,[2,68],{61:163,9:tt,36:rt,56:nt,57:it,62:ut,63:at,64:ot,65:st,66:ct}),t(A,[2,24])],defaultActions:{36:[2,1],69:[2,2],70:[2,4],104:[2,19],155:[2,61],156:[2,62]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},gt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 48;case 1:return 49;case 2:return 50;case 3:return 51;case 4:return 52;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 57;case 13:return 65;case 14:return 63;case 15:return 11;case 16:return 60;case 17:return 69;case 18:return 70;case 19:return 66;case 20:return 33;case 21:return 32;case 22:return 41;case 23:return 39;case 24:return 40;case 25:return 42;case 26:return 36;case 27:return 68;case 28:return 58;case 29:return 69;case 30:return 62;case 31:return 43;case 32:return 28;case 33:return 29;case 34:return 25;case 35:return 27;case 36:return 30;case 37:return 31;case 38:return 73;case 39:return 13;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return ft.lexer=gt,e.prototype=ft,ft.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,_,D,x,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(D in a[w])this.terminals_[D]&&D>h&&C.push("'"+this.terminals_[D]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(x=this.productions_[E[1]][1],F.$=i[i.length-x],F._$={first_line:u[u.length-(x||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(x||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(x||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof _)return _;x&&(n=n.slice(0,-1*x*2),i=i.slice(0,-1*x),u=u.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,r){var n={actor:e,placement:t,message:r};a.push(n)},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb"),t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var n,i=50,u=50,a=150,o=65,s=10,c=d3.select("#"+t),l=function(e,t,r,c){var l=e.append("g");l.append("line").attr("x1",t).attr("y1",s).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),l.append("rect").attr("x",i+r*u+150*n).attr("y",s).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a).attr("height",o).attr("rx",3).attr("ry",3),l.append("text").attr("x",i+r*u+n*a+75).attr("y",s+37.5).style("text-anchor","middle").text(c)},h=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},d=function(e,t,r,n,i,u){var a=e.append("g");1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},p=r.yy.getActors(),f=r.yy.getActorKeys(),g=r.yy.getMessages(),y=0;for(n=0;n/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var u,a=50,o=50,s=150,c=65,l=10,h=d3.select("#"+t),d=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",l).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",a+r*o+150*u).attr("y",l).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s).attr("height",c).attr("rx",3).attr("ry",3),i.append("text").attr("x",a+r*o+u*s+75).attr("y",l+37.5).style("text-anchor","middle").text(n)},p=function(e,t,r,n,i,u){var a=e.append("g");2!==u.type?(1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)):a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0;for(u=0;u/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/package.json b/package.json index 897ef23f6..f3ee7a33e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.2.15", + "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "scripts": { diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index e9b5a6d8e..e50988c7e 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -138,6 +138,7 @@ graphConfig statements : statement spaceListNewline statements + | statement statements | statement ; @@ -157,27 +158,16 @@ spaceList statement : commentStatement NEWLINE - {$$='Comment';} - | verticeStatement SEMI - | verticeStatement NEWLINE - | verticeStatement EOF - | styleStatement SEMI - | styleStatement NEWLINE - | styleStatement EOF - | linkStyleStatement SEMI - | linkStyleStatement NEWLINE - | linkStyleStatement EOF - | classDefStatement SEMI - | classDefStatement NEWLINE - | classDefStatement EOF - | classStatement SEMI - | classStatement NEWLINE - | classStatement EOF - | clickStatement SEMI - | clickStatement NEWLINE - | clickStatement EOF + | verticeStatement separator + | styleStatement separator + | linkStyleStatement separator + | classDefStatement separator + | classStatement separator + | clickStatement separator ; +separator: NEWLINE | SEMI | EOF ; + verticeStatement: vertex link vertex { yy.addLink($1,$3,$2);$$ = 'oy'} diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index 76206d584..b62bc7a17 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$Vj=[6,11,12],$Vk=[6,11,12,39,40,41,42],$Vl=[6,9,11,12,25,28,30,32,33,39,40,41,42],$Vm=[6,9,11,12,25,28,30,32,33,39,40,41,42,57,60,62,63,65,66,68,69,70],$Vn=[6,8,9,10,11,12,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$Vo=[1,6,9,12],$Vp=[1,114],$Vq=[1,106],$Vr=[1,115],$Vs=[1,104],$Vt=[1,93],$Vu=[1,94],$Vv=[1,91],$Vw=[1,92],$Vx=[1,95],$Vy=[1,96],$Vz=[1,89],$VA=[1,88],$VB=[1,107],$VC=[1,100],$VD=[1,101],$VE=[1,99],$VF=[1,102],$VG=[1,90],$VH=[1,109],$VI=[1,110],$VJ=[1,111],$VK=[1,112],$VL=[1,113],$VM=[1,97],$VN=[1,98],$VO=[1,103],$VP=[57,60,62,63,65,66,68,69,70],$VQ=[9,43,57,60,62,63,65,66,68,69,70],$VR=[1,137],$VS=[8,9,10,11,12,25,27,28,29,30,31,32,33,36,39,40,41,42,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70,71,72,73],$VT=[2,100],$VU=[8,9,10,27,29,31,32,33,36,43,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VV=[9,12,48,49,50,51,52,57,58,60,62,63,65,66,68,69,70],$VW=[1,165],$VX=[1,162],$VY=[1,166],$VZ=[1,163],$V_=[1,160],$V$=[1,161],$V01=[1,164],$V11=[1,167],$V21=[1,168],$V31=[2,47],$V41=[1,179],$V51=[6,11,12,60],$V61=[6,9,11,12,36,56,57,60,62,63,64,65,66]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"styleStatement":17,"linkStyleStatement":18,"classDefStatement":19,"classStatement":20,"clickStatement":21,"vertex":22,"link":23,"alphaNum":24,"SQS":25,"text":26,"SQE":27,"PS":28,"PE":29,"DIAMOND_START":30,"DIAMOND_STOP":31,"TAGEND":32,"TAGSTART":33,"alphaNumStatement":34,"alphaNumToken":35,"MINUS":36,"linkStatement":37,"arrowText":38,"ARROW_POINT":39,"ARROW_CIRCLE":40,"ARROW_CROSS":41,"ARROW_OPEN":42,"PIPE":43,"textToken":44,"commentText":45,"commentToken":46,"keywords":47,"STYLE":48,"LINKSTYLE":49,"CLASSDEF":50,"CLASS":51,"CLICK":52,"textNoTags":53,"textNoTagsToken":54,"stylesOpt":55,"HEX":56,"NUM":57,"PCT":58,"style":59,"COMMA":60,"styleComponent":61,"ALPHA":62,"COLON":63,"UNIT":64,"BRKT":65,"DOT":66,"graphCodeTokens":67,"PLUS":68,"EQUALS":69,"MULT":70,"TAG_START":71,"TAG_END":72,"QUOTE":73,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",25:"SQS",27:"SQE",28:"PS",29:"PE",30:"DIAMOND_START",31:"DIAMOND_STOP",32:"TAGEND",33:"TAGSTART",36:"MINUS",39:"ARROW_POINT",40:"ARROW_CIRCLE",41:"ARROW_CROSS",42:"ARROW_OPEN",43:"PIPE",48:"STYLE",49:"LINKSTYLE",50:"CLASSDEF",51:"CLASS",52:"CLICK",56:"HEX",57:"NUM",58:"PCT",60:"COMMA",62:"ALPHA",63:"COLON",64:"UNIT",65:"BRKT",66:"DOT",68:"PLUS",69:"EQUALS",70:"MULT",71:"TAG_START",72:"TAG_END",73:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[16,3],[16,1],[22,4],[22,5],[22,6],[22,7],[22,4],[22,5],[22,4],[22,5],[22,4],[22,5],[22,4],[22,1],[22,2],[24,1],[24,2],[34,1],[34,3],[23,2],[23,3],[23,1],[23,2],[37,1],[37,1],[37,1],[37,1],[38,3],[26,1],[26,2],[45,1],[45,2],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[53,1],[53,2],[19,5],[20,5],[21,5],[17,5],[17,5],[18,5],[15,3],[55,1],[55,3],[59,1],[59,2],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[46,1],[46,1],[44,1],[44,1],[44,1],[54,1],[54,1],[54,1],[54,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -95,112 +95,109 @@ break; case 7: yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; break; -case 16: -this.$='Comment'; -break; -case 35: +case 27: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; -case 36: +case 28: this.$ = 'yo'; break; -case 37: +case 29: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 38: +case 30: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; -case 39: +case 31: this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; -case 40: +case 32: this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; -case 41: +case 33: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 42: +case 34: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 43: case 47: +case 35: case 39: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; -case 44: +case 36: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 45: +case 37: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 46: +case 38: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 48: +case 40: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 49: +case 41: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 50: case 52: case 63: case 65: case 74: +case 42: case 44: case 55: case 57: case 66: this.$=$$[$0]; break; -case 51: case 64: case 66: case 75: +case 43: case 56: case 58: case 67: this.$=$$[$0-1]+''+$$[$0]; break; -case 53: +case 45: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 54: +case 46: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 55: +case 47: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 56: +case 48: this.$ = $$[$0]; break; -case 57: case 62: +case 49: case 54: this.$ = $$[$0-1]; break; -case 58: +case 50: this.$ = {"type":"arrow"}; break; -case 59: +case 51: this.$ = {"type":"arrow_circle"}; break; -case 60: +case 52: this.$ = {"type":"arrow_cross"}; break; -case 61: +case 53: this.$ = {"type":"arrow_open"}; break; -case 76: +case 68: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 77: +case 69: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 78: +case 70: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 79: +case 71: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 80: case 81: +case 72: case 73: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 83: +case 75: this.$ = [$$[$0]] break; -case 84: +case 76: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 86: +case 78: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vh,[2,9],{7:38,9:$V0,12:$V1}),o($Vi,[2,13],{7:39,9:$V0,12:$V1}),o($Vi,[2,12],{7:40,9:$V0,12:$V1}),{12:[1,41]},{6:[1,44],11:[1,42],12:[1,43]},{6:[1,47],11:[1,45],12:[1,46]},{6:[1,50],11:[1,48],12:[1,49]},{6:[1,53],11:[1,51],12:[1,52]},{6:[1,56],11:[1,54],12:[1,55]},{6:[1,59],11:[1,57],12:[1,58]},{58:[1,60]},o($Vj,[2,36],{23:61,37:62,39:[1,63],40:[1,64],41:[1,65],42:[1,66]}),{9:[1,67]},{9:[1,68]},{9:[1,69]},{9:[1,70]},{9:[1,71]},o($Vk,[2,48],{9:[1,77],25:[1,72],28:[1,73],30:[1,74],32:[1,75],33:[1,76]}),o($Vl,[2,50],{34:24,35:25,24:78,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg}),o($Vm,[2,52],{36:[1,79]}),o($Vn,[2,105]),o($Vn,[2,106]),o($Vn,[2,107]),o($Vn,[2,108]),o($Vn,[2,109]),o($Vn,[2,110]),o($Vn,[2,111]),o($Vn,[2,112]),o($Vn,[2,113]),{10:[1,80]},{1:[2,1]},{1:[2,4],6:[1,81]},{5:82,14:6,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:17,24:23,34:24,35:25,48:$V2,49:$V3,50:$V4,51:$V5,52:$V6,57:$V7,58:$V8,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vi,[2,10]),o($Vi,[2,11]),o($Vo,[2,16]),o($Vo,[2,17]),o($Vo,[2,18]),o($Vo,[2,19]),o($Vo,[2,20]),o($Vo,[2,21]),o($Vo,[2,22]),o($Vo,[2,23]),o($Vo,[2,24]),o($Vo,[2,25]),o($Vo,[2,26]),o($Vo,[2,27]),o($Vo,[2,28]),o($Vo,[2,29]),o($Vo,[2,30]),o($Vo,[2,31]),o($Vo,[2,32]),o($Vo,[2,33]),o($Vo,[2,34]),{8:$Vp,9:$Vq,10:$Vr,11:$Vs,25:$Vt,27:$Vu,28:$Vv,29:$Vw,30:$Vx,31:$Vy,32:$Vz,33:$VA,35:105,36:$VB,39:$VC,40:$VD,41:$VE,42:$VF,43:$VG,44:85,45:83,46:84,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:86,68:$Ve,69:$Vf,70:$Vg,71:$VM,72:$VN,73:$VO},{22:116,24:23,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VP,[2,56],{38:117,9:[1,118],43:[1,119]}),o($VQ,[2,58]),o($VQ,[2,59]),o($VQ,[2,60]),o($VQ,[2,61]),{24:120,34:24,35:25,56:[1,121],57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{57:[1,122]},{24:123,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:124,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:125,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:126,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:129,28:[1,128],32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:130,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:131,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,26:132,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,49]),o($Vl,[2,51]),{35:133,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VR,11:[1,134],12:[1,135],13:136},{1:[2,3]},o($Vh,[2,8]),{8:$Vp,9:$Vq,10:$Vr,11:$Vs,12:[2,82],25:$Vt,27:$Vu,28:$Vv,29:$Vw,30:$Vx,31:$Vy,32:$Vz,33:$VA,35:105,36:$VB,39:$VC,40:$VD,41:$VE,42:$VF,43:$VG,44:85,46:138,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,67:86,68:$Ve,69:$Vf,70:$Vg,71:$VM,72:$VN,73:$VO},o($VS,[2,65]),o($VS,[2,96]),o($VS,[2,97]),o($VS,[2,98]),o($VS,[2,99]),o($VS,$VT),o($VS,[2,114]),o($VS,[2,115]),o($VS,[2,116]),o($VS,[2,117]),o($VS,[2,118]),o($VS,[2,119]),o($VS,[2,120]),o($VS,[2,121]),o($VS,[2,122]),o($VS,[2,123]),o($VS,[2,124]),o($VS,[2,125]),o($VS,[2,126]),o($VS,[2,127]),o($VS,[2,128]),o($VS,[2,101]),o($VS,[2,102]),o($VS,[2,103]),o($VS,[2,104]),o($VS,[2,67]),o($VS,[2,68]),o($VS,[2,69]),o($VS,[2,70]),o($VS,[2,71]),o($VS,[2,72]),o($VS,[2,73]),o($Vj,[2,35]),o($VP,[2,54],{9:[1,139]}),o($VP,[2,57]),{8:$Vp,9:$Vq,10:$Vr,26:140,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:[1,141]},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{8:$Vp,9:$Vq,10:$Vr,27:[1,147],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($VU,[2,63]),{8:$Vp,9:$Vq,10:$Vr,26:149,32:$Vz,33:$VA,35:105,36:$VB,44:127,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,29:[1,150],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,31:[1,151],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,27:[1,152],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{8:$Vp,9:$Vq,10:$Vr,32:[1,153],33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vm,[2,53]),o($VV,[2,5]),o($VV,[2,6]),{12:[1,154]},{9:$VR,12:[2,15],13:155},o($VS,[2,66]),o($VP,[2,55]),{8:$Vp,9:$Vq,10:$Vr,32:$Vz,33:$VA,35:105,36:$VB,43:[1,156],44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{9:$VW,36:$VX,55:157,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:169,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:170,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{9:$VW,36:$VX,55:171,56:$VY,57:$VZ,59:158,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},{24:172,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},{24:173,34:24,35:25,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,37],{9:[1,174]}),o($VU,[2,64]),{8:$Vp,9:$Vq,10:$Vr,29:[1,175],32:$Vz,33:$VA,35:105,36:$VB,44:148,47:108,48:$VH,49:$VI,50:$VJ,51:$VK,52:$VL,54:87,57:$V7,60:$V9,62:$Va,63:$Vb,65:$Vc,66:$Vd,68:$Ve,69:$Vf,70:$Vg},o($Vk,[2,41],{9:[1,176]}),o($Vk,[2,43],{9:[1,177]}),o($Vk,[2,45],{9:[1,178]}),o([8,9,10,32,33,36,48,49,50,51,52,57,60,62,63,65,66,68,69,70],$VT,{6:$V31,11:$V31,12:$V31,39:$V31,40:$V31,41:$V31,42:$V31}),o($VV,[2,7]),{12:[2,14]},o([9,57,60,62,63,65,66,68,69,70],[2,62]),o($Vj,[2,79],{60:$V41}),o($V51,[2,83],{61:180,9:$VW,36:$VX,56:$VY,57:$VZ,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21}),o($V61,[2,85]),o($V61,[2,87]),o($V61,[2,88]),o($V61,[2,89]),o($V61,[2,90]),o($V61,[2,91]),o($V61,[2,92]),o($V61,[2,93]),o($V61,[2,94]),o($V61,[2,95]),o($Vj,[2,80],{60:$V41}),o($Vj,[2,81],{60:$V41}),o($Vj,[2,76],{60:$V41}),o($Vj,[2,77]),o($Vj,[2,78]),o($Vk,[2,38]),{29:[1,181]},o($Vk,[2,42]),o($Vk,[2,44]),o($Vk,[2,46]),{9:$VW,36:$VX,56:$VY,57:$VZ,59:182,61:159,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21},o($V61,[2,86]),o($Vk,[2,39],{9:[1,183]}),o($V51,[2,84],{61:180,9:$VW,36:$VX,56:$VY,57:$VZ,62:$V_,63:$V$,64:$V01,65:$V11,66:$V21}),o($Vk,[2,40])], -defaultActions: {36:[2,1],81:[2,3],155:[2,14]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], +defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -674,15 +671,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 48; +case 0:return 49; break; -case 1:return 49; +case 1:return 50; break; -case 2:return 50; +case 2:return 51; break; -case 3:return 51; +case 3:return 52; break; -case 4:return 52; +case 4:return 53; break; case 5:return 8; break; @@ -698,59 +695,59 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 57; +case 12:return 58; break; -case 13:return 65; +case 13:return 66; break; -case 14:return 63; +case 14:return 64; break; case 15:return 11; break; -case 16:return 60; +case 16:return 61; break; -case 17:return 69; +case 17:return 70; break; -case 18:return 70; +case 18:return 71; break; -case 19:return 66; +case 19:return 67; break; -case 20:return 33; +case 20:return 34; break; -case 21:return 32; +case 21:return 33; break; -case 22:return 41; +case 22:return 42; break; -case 23:return 39; +case 23:return 40; break; -case 24:return 40; +case 24:return 41; break; -case 25:return 42; +case 25:return 43; break; -case 26:return 36; +case 26:return 37; break; -case 27:return 68; +case 27:return 69; break; -case 28:return 58; +case 28:return 59; break; -case 29:return 69; +case 29:return 70; break; -case 30:return 62; +case 30:return 63; break; -case 31:return 43; +case 31:return 44; break; -case 32:return 28; +case 32:return 29; break; -case 33:return 29; +case 33:return 30; break; -case 34:return 25; +case 34:return 26; break; -case 35:return 27; +case 35:return 28; break; -case 36:return 30 +case 36:return 31 break; -case 37:return 31 +case 37:return 32 break; -case 38:return 73; +case 38:return 74; break; case 39:return 12; break; diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index fa7e3b029..bf6d0337e 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -61,6 +61,21 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow'); expect(edges[0].text).toBe(''); }); + it('should handle statements ending without semicolon',function(){ + var res = flow.parser.parse('graph TD\nA-->B\nB-->C'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(2); + expect(edges[1].start).toBe('B'); + expect(edges[1].end).toBe('C'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); it('should handle a comments',function(){ var res = flow.parser.parse('graph TD;\n%% CComment\n A-->B;'); diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index b2325527a..a573a00ac 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -13,18 +13,6 @@ sq.yy = require('./sequenceDb'); * @param description The text in the box */ var drawNote = function(elem, startX, verticalPos, msg){ - var insertLinebreaks = function (d) { - var el = d3.select(this); - var words = d.split(' '); - el.text(''); - - for (var i = 0; i < words.length; i++) { - var tspan = el.append('tspan').text(words[i]); - if (i > 0) - tspan.attr('x', 0).attr('dy', '15'); - } - }; - var g = elem.append("g"); var rectElem = g.append("rect") .attr("x", startX + 25) @@ -41,7 +29,7 @@ var drawNote = function(elem, startX, verticalPos, msg){ .style("text-anchor", "start"); msg.message.split('
').forEach(function(rowText){ textElem.append("tspan") - .attr("x", startX + 35) + .attr("x", startX + 35 ) .attr("dy", '1em') .text(rowText); }); @@ -49,14 +37,26 @@ var drawNote = function(elem, startX, verticalPos, msg){ console.log('textElem.height'); console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); - //console.log(textElem.getBBox().height); - - //.text(msg.message + '\n' + msg.message) - return verticalPos + textElem[0][0].getBBox().height - 10; }; + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; + /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -73,6 +73,7 @@ module.exports.draw = function (text, id) { var height = 65; var yStartMargin = 10; var diagram = d3.select('#'+id); + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -106,21 +107,6 @@ module.exports.draw = function (text, id) { ; }; - /** - * Setup arrow head and define the marker. The result is appended to the svg. - */ - var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead - }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ var g = elem.append("g"); //Make an SVG Container @@ -220,4 +206,5 @@ module.exports.draw = function (text, id) { diagram.attr("height", verticalPos + 40); diagram.attr("width", maxX ); + diagram.attr("transform", 'translate(150 0)' ); }; diff --git a/test/web.html b/test/web.html index 364030634..8d582ced0 100644 --- a/test/web.html +++ b/test/web.html @@ -58,7 +58,7 @@
sequenceDiagram Alice->Bob: Hello Bob, how are you? - Note right of Bob: Bob thinks about
things
to think about + Note right of Alice: Bob thinks about
things
to think about Bob-->Alice: I am good thanks! Bob-->John the Long: How about you John? Bob-->Alice: Checking with John... diff --git a/test/web_style.html b/test/web_style.html index 76c48c622..ad2bd47fb 100644 --- a/test/web_style.html +++ b/test/web_style.html @@ -57,7 +57,7 @@

Graph definition

-    graph TD;
+    graph LR;
 
         noc[No class<br />using default];
         cyr2((Class node-cyr-undefined<br />is undefined, using default));
@@ -98,7 +98,7 @@
     
- graph TD; + graph LR; noc[No class
using default]; cyr2((Class node-cyr-undefined
is undefined, using default)); From 21daaf3e2972517439fa71e4f9960f1804f87b0f Mon Sep 17 00:00:00 2001 From: knsv Date: Tue, 16 Dec 2014 20:12:24 +0100 Subject: [PATCH 03/48] Adding support for notes to the left of the actor in sequence diagrams. --- .../parser/sequenceDiagram.jison | 2 +- .../sequenceDiagram/parser/sequenceDiagram.js | 2 +- src/diagrams/sequenceDiagram/sequenceDb.js | 2 +- .../sequenceDiagram/sequenceRenderer.js | 120 +++++++++++------- 4 files changed, 74 insertions(+), 52 deletions(-) diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index c68e331d8..0e21d1daf 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -61,7 +61,7 @@ statement ; note_statement - : 'note' placement actor message { $$ = yy.addNote($3, $2, $4); } + : 'note' placement actor message { console.log('Got note');$$ = yy.addNote($3, $2, $4); } | 'note' 'over' actor_pair message { $$ = yy.addNote($3, yy.PLACEMENT.OVER, $4); } ; diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js index bd52cf0c0..bc57b70bb 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js @@ -102,7 +102,7 @@ case 9: yy.setTitle($$[$0]); break; case 10: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + console.log('Got note');this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); break; case 11: this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); diff --git a/src/diagrams/sequenceDiagram/sequenceDb.js b/src/diagrams/sequenceDiagram/sequenceDb.js index c6b051276..d99c48110 100644 --- a/src/diagrams/sequenceDiagram/sequenceDb.js +++ b/src/diagrams/sequenceDiagram/sequenceDb.js @@ -61,7 +61,7 @@ exports.addNote = function (actor, placement, message){ var note = {actor:actor, placement: placement, message:message}; notes.push(note); - messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE}); + messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE, placement: placement}); }; diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index a573a00ac..bb33a2621 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -57,6 +57,61 @@ var insertArrowHead = function(elem){ .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Draws a message + * @param elem + * @param startx + * @param stopx + * @param verticalPos + * @param txtCenter + * @param msg + */ +var drawMessage = function(elem, startx, stopx, verticalPos, msg){ + var g = elem.append("g"); + var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container + //Draw the line + if(msg.type !== 2) { + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } + else{ + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } +}; /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -107,58 +162,14 @@ module.exports.draw = function (text, id) { ; }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ - var g = elem.append("g"); - //Make an SVG Container - //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - else{ - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - }; // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0; + var i, maxX = 0, minX=0; // Draw the actors for(i=0;i Date: Tue, 16 Dec 2014 20:51:48 +0100 Subject: [PATCH 04/48] Adding support for loops to the sequence diagram grammar. --- dist/mermaid.full.js | 224 ++++++++++-------- dist/mermaid.full.min.js | 2 +- dist/mermaid.slim.js | 224 ++++++++++-------- dist/mermaid.slim.min.js | 2 +- .../parser/sequenceDiagram.jison | 10 +- .../sequenceDiagram/parser/sequenceDiagram.js | 94 ++++---- src/diagrams/sequenceDiagram/sequenceDb.js | 8 +- .../sequenceDiagram/sequenceDiagram.spec.js | 87 ++++++- test/web.html | 9 +- test/web_style.html | 144 ----------- 10 files changed, 420 insertions(+), 384 deletions(-) delete mode 100644 test/web_style.html diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index f6ee53a66..f1b664629 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -15166,12 +15166,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,24],$V1=[1,14],$V2=[1,17],$V3=[24,29,30]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"note":16,"placement":17,"over":18,"actor_pair":19,",":20,"left_of":21,"right_of":22,"signaltype":23,"ACTOR":24,"linetype":25,"arrowtype":26,"LINE":27,"DOTLINE":28,"ARROW":29,"OPENARROW":30,"MESSAGE":31,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, +productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -15196,51 +15196,57 @@ case 9: yy.setTitle($$[$0]); break; case 10: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; break; case 11: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; break; -case 12: case 19: - this.$ = $$[$0]; +case 12: + this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); break; case 13: - this.$ = [$$[$0-2], $$[$0]]; + this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); break; -case 14: - this.$ = yy.PLACEMENT.LEFTOF; +case 14: case 21: + this.$ = $$[$0]; break; case 15: - this.$ = yy.PLACEMENT.RIGHTOF; + this.$ = [$$[$0-2], $$[$0]]; break; case 16: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = yy.PLACEMENT.LEFTOF; break; case 17: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = yy.PLACEMENT.RIGHTOF; break; case 18: - this.$ = $$[$0-1] | ($$[$0] << 2); + yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); +break; +case 19: + yy.addActor($$[$0],$$[$0],$$[$0]); break; case 20: - this.$ = yy.LINETYPE.SOLID; -break; -case 21: - this.$ = yy.LINETYPE.DOTTED; + this.$ = $$[$0-1] | ($$[$0] << 2); break; case 22: - this.$ = yy.ARROWTYPE.FILLED; + this.$ = yy.LINETYPE.SOLID; break; case 23: - this.$ = yy.ARROWTYPE.OPEN; + this.$ = yy.LINETYPE.DOTTED; break; case 24: + this.$ = yy.ARROWTYPE.FILLED; +break; +case 25: + this.$ = yy.ARROWTYPE.OPEN; +break; +case 26: this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:15,24:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},o([6,9,10,14,16,20,24,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,24]),{11:26,24:$V1},{24:[2,19],26:27,29:[1,28],30:[1,29]},o($V3,[2,20]),o($V3,[2,21]),{11:30,24:$V1},{11:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{15:33,31:$V2},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:$V2},{15:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{11:37,24:$V1},{31:[2,13]}], -defaultActions: {4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], +defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15721,42 +15727,50 @@ case 1:/* skip whitespace */ break; case 2:/* skip comments */ break; -case 3:return 10; +case 3:/* skip comments */ break; -case 4:return 21; +case 4:return 10; break; -case 5:return 22; +case 5:return 16; break; case 6:return 18; break; -case 7:return 16; +case 7:return 24; break; -case 8:return 14; +case 8:return 25; break; -case 9:return 4; +case 9:return 21; break; -case 10:return 20; +case 10:return 19; break; -case 11:return 24; +case 11:return 14; break; -case 12:return 28; +case 12:return 4; break; -case 13:return 27; +case 13:return 23; break; -case 14:return 30; +case 14:return 17; break; -case 15:return 29; +case 15:return 30; break; -case 16:return 31; +case 16:return 29; break; -case 17:return 6; +case 17:return 32; break; -case 18:return 'INVALID'; +case 18:return 31; +break; +case 19:return 33; +break; +case 20:return 'CMT'; +break; +case 21:return 6; +break; +case 22:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15830,9 +15844,11 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2 + SOLID : 0, + DOTTED : 1, + NOTE : 2, + LOOP_START: 10, + LOOP_END : 11, }; exports.ARROWTYPE = { @@ -15850,7 +15866,7 @@ exports.addNote = function (actor, placement, message){ var note = {actor:actor, placement: placement, message:message}; notes.push(note); - messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE}); + messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE, placement: placement}); }; @@ -15917,6 +15933,61 @@ var insertArrowHead = function(elem){ .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Draws a message + * @param elem + * @param startx + * @param stopx + * @param verticalPos + * @param txtCenter + * @param msg + */ +var drawMessage = function(elem, startx, stopx, verticalPos, msg){ + var g = elem.append("g"); + var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container + //Draw the line + if(msg.type !== 2) { + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } + else{ + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } +}; /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -15967,58 +16038,14 @@ module.exports.draw = function (text, id) { ; }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ - var g = elem.append("g"); - //Make an SVG Container - //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - else{ - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - }; // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0; + var i, maxX = 0, minX=0; // Draw the actors for(i=0;i=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var u,a=50,o=50,s=150,c=65,l=10,h=d3.select("#"+t),d=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",l).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",a+r*o+150*u).attr("y",l).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s).attr("height",c).attr("rx",3).attr("ry",3),i.append("text").attr("x",a+r*o+u*s+75).attr("y",l+37.5).style("text-anchor","middle").text(n)},p=function(e,t,r,n,i,u){var a=e.append("g");2!==u.type?(1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)):a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0;for(u=0;u/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},u=function(e,t,r,n,i){var u=e.append("g"),a=t+(r-t)/2;2!==i.type?(1===i.type?u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)):u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var a,o=50,s=50,c=150,l=65,h=10,d=d3.select("#"+t),p=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",h).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",o+r*s+150*a).attr("y",h).attr("fill","#eaeaea").attr("stroke","#666").attr("width",c).attr("height",l).attr("rx",3).attr("ry",3),i.append("text").attr("x",o+r*s+a*c+75).attr("y",h+37.5).style("text-anchor","middle").text(n)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0,v=0;for(a=0;a/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 47198f31f..3833a736a 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15134,12 +15134,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,24],$V1=[1,14],$V2=[1,17],$V3=[24,29,30]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"note":16,"placement":17,"over":18,"actor_pair":19,",":20,"left_of":21,"right_of":22,"signaltype":23,"ACTOR":24,"linetype":25,"arrowtype":26,"LINE":27,"DOTLINE":28,"ARROW":29,"OPENARROW":30,"MESSAGE":31,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, +productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -15164,51 +15164,57 @@ case 9: yy.setTitle($$[$0]); break; case 10: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; break; case 11: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; break; -case 12: case 19: - this.$ = $$[$0]; +case 12: + this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); break; case 13: - this.$ = [$$[$0-2], $$[$0]]; + this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); break; -case 14: - this.$ = yy.PLACEMENT.LEFTOF; +case 14: case 21: + this.$ = $$[$0]; break; case 15: - this.$ = yy.PLACEMENT.RIGHTOF; + this.$ = [$$[$0-2], $$[$0]]; break; case 16: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = yy.PLACEMENT.LEFTOF; break; case 17: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = yy.PLACEMENT.RIGHTOF; break; case 18: - this.$ = $$[$0-1] | ($$[$0] << 2); + yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); +break; +case 19: + yy.addActor($$[$0],$$[$0],$$[$0]); break; case 20: - this.$ = yy.LINETYPE.SOLID; -break; -case 21: - this.$ = yy.LINETYPE.DOTTED; + this.$ = $$[$0-1] | ($$[$0] << 2); break; case 22: - this.$ = yy.ARROWTYPE.FILLED; + this.$ = yy.LINETYPE.SOLID; break; case 23: - this.$ = yy.ARROWTYPE.OPEN; + this.$ = yy.LINETYPE.DOTTED; break; case 24: + this.$ = yy.ARROWTYPE.FILLED; +break; +case 25: + this.$ = yy.ARROWTYPE.OPEN; +break; +case 26: this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:15,24:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},o([6,9,10,14,16,20,24,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,24]),{11:26,24:$V1},{24:[2,19],26:27,29:[1,28],30:[1,29]},o($V3,[2,20]),o($V3,[2,21]),{11:30,24:$V1},{11:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{15:33,31:$V2},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:$V2},{15:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{11:37,24:$V1},{31:[2,13]}], -defaultActions: {4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], +defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15689,42 +15695,50 @@ case 1:/* skip whitespace */ break; case 2:/* skip comments */ break; -case 3:return 10; +case 3:/* skip comments */ break; -case 4:return 21; +case 4:return 10; break; -case 5:return 22; +case 5:return 16; break; case 6:return 18; break; -case 7:return 16; +case 7:return 24; break; -case 8:return 14; +case 8:return 25; break; -case 9:return 4; +case 9:return 21; break; -case 10:return 20; +case 10:return 19; break; -case 11:return 24; +case 11:return 14; break; -case 12:return 28; +case 12:return 4; break; -case 13:return 27; +case 13:return 23; break; -case 14:return 30; +case 14:return 17; break; -case 15:return 29; +case 15:return 30; break; -case 16:return 31; +case 16:return 29; break; -case 17:return 6; +case 17:return 32; break; -case 18:return 'INVALID'; +case 18:return 31; +break; +case 19:return 33; +break; +case 20:return 'CMT'; +break; +case 21:return 6; +break; +case 22:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15798,9 +15812,11 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2 + SOLID : 0, + DOTTED : 1, + NOTE : 2, + LOOP_START: 10, + LOOP_END : 11, }; exports.ARROWTYPE = { @@ -15818,7 +15834,7 @@ exports.addNote = function (actor, placement, message){ var note = {actor:actor, placement: placement, message:message}; notes.push(note); - messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE}); + messages.push({from:actor, to:actor, message:message, type:exports.LINETYPE.NOTE, placement: placement}); }; @@ -15885,6 +15901,61 @@ var insertArrowHead = function(elem){ .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Draws a message + * @param elem + * @param startx + * @param stopx + * @param verticalPos + * @param txtCenter + * @param msg + */ +var drawMessage = function(elem, startx, stopx, verticalPos, msg){ + var g = elem.append("g"); + var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container + //Draw the line + if(msg.type !== 2) { + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "link") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); + } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } + else{ + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 10) + .style("text-anchor", "middle") + .text(msg.message); + } +}; /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -15935,58 +16006,14 @@ module.exports.draw = function (text, id) { ; }; - var drawMessage = function(elem, startx, stopx, verticalPos, txtCenter, msg){ - var g = elem.append("g"); - //Make an SVG Container - //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - else{ - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - } - }; // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0; + var i, maxX = 0, minX=0; // Draw the actors for(i=0;i=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,24],n=[1,14],i=[1,17],u=[24,29,30],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,note:16,placement:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 11:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 12:case 19:this.$=u[a];break;case 13:this.$=[u[a-2],u[a]];break;case 14:this.$=n.PLACEMENT.LEFTOF;break;case 15:this.$=n.PLACEMENT.RIGHTOF;break;case 16:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 17:n.addActor(u[a],u[a],u[a]);break;case 18:this.$=u[a-1]|u[a]<<2;break;case 20:this.$=n.LINETYPE.SOLID;break;case 21:this.$=n.LINETYPE.DOTTED;break;case 22:this.$=n.ARROWTYPE.FILLED;break;case 23:this.$=n.ARROWTYPE.OPEN;break;case 24:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:n},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:15,24:n},t(r,[2,7]),t(r,[2,8]),{15:16,31:i},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},t([6,9,10,14,16,20,24,27,28,31],[2,17]),t(r,[2,6]),t(r,[2,9]),t(r,[2,24]),{11:26,24:n},{24:[2,19],26:27,29:[1,28],30:[1,29]},t(u,[2,20]),t(u,[2,21]),{11:30,24:n},{11:32,19:31,24:n},{24:[2,14]},{24:[2,15]},{15:33,31:i},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:i},{15:35,31:i},{20:[1,36],31:[2,12]},t(r,[2,16]),t(r,[2,10]),t(r,[2,11]),{11:37,24:n},{31:[2,13]}],defaultActions:{4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:return 10;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 16;case 8:return 14;case 9:return 4;case 10:return 20;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var u,a=50,o=50,s=150,c=65,l=10,h=d3.select("#"+t),d=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",l).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",a+r*o+150*u).attr("y",l).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s).attr("height",c).attr("rx",3).attr("ry",3),i.append("text").attr("x",a+r*o+u*s+75).attr("y",l+37.5).style("text-anchor","middle").text(n)},p=function(e,t,r,n,i,u){var a=e.append("g");2!==u.type?(1===u.type?a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)):a.append("text").attr("x",i).attr("y",n-10).style("text-anchor","middle").text(u.message)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0;for(u=0;u/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},u=function(e,t,r,n,i){var u=e.append("g"),a=t+(r-t)/2;2!==i.type?(1===i.type?u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)):u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var a,o=50,s=50,c=150,l=65,h=10,d=d3.select("#"+t),p=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",h).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",o+r*s+150*a).attr("y",h).attr("fill","#eaeaea").attr("stroke","#666").attr("width",c).attr("height",l).attr("rx",3).attr("ry",3),i.append("text").attr("x",o+r*s+a*c+75).attr("y",h+37.5).style("text-anchor","middle").text(n)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0,v=0;for(a=0;a/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index 0e21d1daf..4485e5306 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -16,7 +16,10 @@ [\n]+ return 'NL'; \s+ /* skip whitespace */ \#[^\n]* /* skip comments */ +\%%[^\n]* /* skip comments */ "participant" return 'participant'; +"loop" return 'loop'; +"end" return 'end'; "left of" return 'left_of'; "right of" return 'right_of'; "over" return 'over'; @@ -30,6 +33,7 @@ ">>" return 'OPENARROW'; ">" return 'ARROW'; :[^#\n]+ return 'MESSAGE'; +"%%" return 'CMT'; <> return 'EOF'; . return 'INVALID'; @@ -58,10 +62,14 @@ statement | signal { $$='signal'; } | note_statement { $$='note'; } | 'title' message { yy.setTitle($2); } + | 'loop' ACTOR + { yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);$$='loop'; } + | 'end' + { yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);$$='loop'; } ; note_statement - : 'note' placement actor message { console.log('Got note');$$ = yy.addNote($3, $2, $4); } + : 'note' placement actor message { $$ = yy.addNote($3, $2, $4); } | 'note' 'over' actor_pair message { $$ = yy.addNote($3, yy.PLACEMENT.OVER, $4); } ; diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js index bc57b70bb..3d3934d67 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,24],$V1=[1,14],$V2=[1,17],$V3=[24,29,30]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"note":16,"placement":17,"over":18,"actor_pair":19,",":20,"left_of":21,"right_of":22,"signaltype":23,"ACTOR":24,"linetype":25,"arrowtype":26,"LINE":27,"DOTLINE":28,"ARROW":29,"OPENARROW":30,"MESSAGE":31,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[13,4],[13,4],[19,1],[19,3],[17,1],[17,1],[12,4],[11,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, +productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -102,51 +102,57 @@ case 9: yy.setTitle($$[$0]); break; case 10: - console.log('Got note');this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; break; case 11: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; break; -case 12: case 19: - this.$ = $$[$0]; +case 12: + this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); break; case 13: - this.$ = [$$[$0-2], $$[$0]]; + this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); break; -case 14: - this.$ = yy.PLACEMENT.LEFTOF; +case 14: case 21: + this.$ = $$[$0]; break; case 15: - this.$ = yy.PLACEMENT.RIGHTOF; + this.$ = [$$[$0-2], $$[$0]]; break; case 16: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = yy.PLACEMENT.LEFTOF; break; case 17: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = yy.PLACEMENT.RIGHTOF; break; case 18: - this.$ = $$[$0-1] | ($$[$0] << 2); + yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); +break; +case 19: + yy.addActor($$[$0],$$[$0],$$[$0]); break; case 20: - this.$ = yy.LINETYPE.SOLID; -break; -case 21: - this.$ = yy.LINETYPE.DOTTED; + this.$ = $$[$0-1] | ($$[$0] << 2); break; case 22: - this.$ = yy.ARROWTYPE.FILLED; + this.$ = yy.LINETYPE.SOLID; break; case 23: - this.$ = yy.ARROWTYPE.OPEN; + this.$ = yy.LINETYPE.DOTTED; break; case 24: + this.$ = yy.ARROWTYPE.FILLED; +break; +case 25: + this.$ = yy.ARROWTYPE.OPEN; +break; +case 26: this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:12,12:9,13:10,14:[1,11],16:[1,13],24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:15,24:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{17:22,18:[1,23],21:[1,24],22:[1,25]},o([6,9,10,14,16,20,24,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,24]),{11:26,24:$V1},{24:[2,19],26:27,29:[1,28],30:[1,29]},o($V3,[2,20]),o($V3,[2,21]),{11:30,24:$V1},{11:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{15:33,31:$V2},{24:[2,18]},{24:[2,22]},{24:[2,23]},{15:34,31:$V2},{15:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{11:37,24:$V1},{31:[2,13]}], -defaultActions: {4:[2,1],24:[2,14],25:[2,15],27:[2,18],28:[2,22],29:[2,23],37:[2,13]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], +defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -627,42 +633,50 @@ case 1:/* skip whitespace */ break; case 2:/* skip comments */ break; -case 3:return 10; +case 3:/* skip comments */ break; -case 4:return 21; +case 4:return 10; break; -case 5:return 22; +case 5:return 16; break; case 6:return 18; break; -case 7:return 16; +case 7:return 24; break; -case 8:return 14; +case 8:return 25; break; -case 9:return 4; +case 9:return 21; break; -case 10:return 20; +case 10:return 19; break; -case 11:return 24; +case 11:return 14; break; -case 12:return 28; +case 12:return 4; break; -case 13:return 27; +case 13:return 23; break; -case 14:return 30; +case 14:return 17; break; -case 15:return 29; +case 15:return 30; break; -case 16:return 31; +case 16:return 29; break; -case 17:return 6; +case 17:return 32; break; -case 18:return 'INVALID'; +case 18:return 31; +break; +case 19:return 33; +break; +case 20:return 'CMT'; +break; +case 21:return 6; +break; +case 22:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/sequenceDiagram/sequenceDb.js b/src/diagrams/sequenceDiagram/sequenceDb.js index d99c48110..a34c862e4 100644 --- a/src/diagrams/sequenceDiagram/sequenceDb.js +++ b/src/diagrams/sequenceDiagram/sequenceDb.js @@ -41,9 +41,11 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2 + SOLID : 0, + DOTTED : 1, + NOTE : 2, + LOOP_START: 10, + LOOP_END : 11, }; exports.ARROWTYPE = { diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index 9aeeda50e..a2b86061d 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -47,16 +47,95 @@ describe('when parsing a sequenceDiagram',function() { expect(actors.Alice).ToBdescription = 'Alice'; actors.Bob.description = 'Bob'; - //console.log('actors'); - //console.log(actors); + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(3); + + expect(messages[0].from).toBe('Alice'); + expect(messages[2].from).toBe('Bob'); + }); + it('it should handle comments in a sequenceDiagram', function () { + str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice).ToBdescription = 'Alice'; + actors.Bob.description = 'Bob'; var messages = sq.yy.getMessages(); expect(messages.length).toBe(3); - //console.log('messages'); - //console.log(messages); + expect(messages[0].from).toBe('Alice'); expect(messages[2].from).toBe('Bob'); }); + it('it should handle new lines in a sequenceDiagram', function () { + str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice).ToBdescription = 'Alice'; + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(3); + + expect(messages[0].from).toBe('Alice'); + expect(messages[2].from).toBe('Bob'); + }); + + it('it should handle loop statements a sequenceDiagram', function () { + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'loop Multiple happy responses\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice).ToBdescription = 'Alice'; + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(5); + + expect(messages[0].from).toBe('Alice'); + expect(messages[3].from).toBe('Bob'); + }); + + it('it should handle loop statements a sequenceDiagram', function () { + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'loop Multiple happy responses\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice).ToBdescription = 'Alice'; + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(5); + + expect(messages[0].from).toBe('Alice'); + expect(messages[3].from).toBe('Bob'); + }); + }); \ No newline at end of file diff --git a/test/web.html b/test/web.html index 8d582ced0..9bf860ec7 100644 --- a/test/web.html +++ b/test/web.html @@ -58,9 +58,10 @@
sequenceDiagram Alice->Bob: Hello Bob, how are you? - Note right of Alice: Bob thinks about
things
to think about + Note left of Bob: Bob thinks about
things
to think about Bob-->Alice: I am good thanks! Bob-->John the Long: How about you John? + Bob-->Alice: Checking with John... Alice->John the Long: Yes... John, how are you? John the Long-->Alice: Better then you! @@ -68,9 +69,9 @@
graph LR; - A[Start]-->B{a = '1,2'}; - B-->|True|C[test = 1]; - B-->|False|Z[Store]; + A[Start]-->B{a = '1,2'} + B-->|True|C[test = 1] + B-->|False|Z[Store] C-->D{condition}; D-->|True|E[test = 2]; D-->|False|F[test = 3]; diff --git a/test/web_style.html b/test/web_style.html deleted file mode 100644 index ad2bd47fb..000000000 --- a/test/web_style.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - -

Style

- Styling is applied in the following order: -
    -
  1. Node default style (see wiki)
  2. -
  3. CSS on the page
  4. -
  5. Class definitions inside the graph definition
  6. -
  7. Inline styling inside the graph definition
  8. -
- and the last styling applied is the resulting styling. For instance, "Class definitions inside the graph definition" overrides styling from "CSS on the page". - -

CSS in the page head:

-
-        <style>
-            .node-square { 
-                stroke-width: 4px; 
-                stroke: #339933; 
-                fill: #999900;   
-                font-weight: 300;
-                font-family: "Helvetica Neue", Helvetica, Arial, sans-serf;
-                font-size: 14px; } 
-            .node-circle { stroke-width: 0.5px; stroke: #339999; fill: #009900; }
-            .node-odd-override { stroke-width: 3.5px; stroke: #339900; fill: #009999; }
-            .node-odd { stroke-width: 3.5px; stroke: #339900; fill: #009999; }
-            
-        </style>
-    
-

Graph definition

-
-    graph LR;
-
-        noc[No class<br />using default];
-        cyr2((Class node-cyr-undefined<br />is undefined, using default));
-        class cyr2 node-cyr-undefined;
-        ndef[Default style];
-        noc-->ndef;
-        cyr2-->ndef;
-
-        sq[Class node-square<br />defined in page CSS];
-        class sq node-square;
-        ncss[Page CSS style];
-        sq-->ncss;
-
-        cyr[Class node-cyr<br />defined by classDef];
-        od2>Class node-odd-override<br />defined in page CSS<br />and defined by classDef];
-        ncdef[classDef style];
-        od2-->ncdef;
-        cyr-->ncdef;
-        class cyr node-cyr;
-        class od2 node-odd-override;
-        classDef node-odd-override fill:#BB00BB,stroke:#666622;
-        classDef node-cyr fill:#BB0099,stroke:#666622;
-
-        e1[Class node-cyr<br />defined by classDef<br />and inline style];
-        class e1 node-e1;
-        style e1 fill:#FF0000;
-        e2>Class node-odd-override<br />defined in page CSS<br />and defined by classDef<br />and inline style];
-        class e2 node-e2;
-        style e2 fill:#FF0000;
-        e((Inline style in<br />graph definition));
-        style e fill:#FF0000;
-        ninl[Inline style];
-        e-->ninl;
-        e1-->ninl;
-        e2-->ninl;
-        classDef node-e1 fill:#990066,stroke:#666622;
-        classDef node-e2 fill:#990066,stroke:#666622;
-    
- -
- graph LR; - - noc[No class
using default]; - cyr2((Class node-cyr-undefined
is undefined, using default)); - class cyr2 node-cyr-undefined; - ndef[Default style]; - noc-->ndef; - cyr2-->ndef; - - sq[Class node-square
defined in page CSS]; - class sq node-square; - ncss[Page CSS style]; - sq-->ncss; - - cyr[Class node-cyr
defined by classDef]; - od2>Class node-odd-override
defined in page CSS
and defined by classDef]; - ncdef[classDef style]; - od2-->ncdef; - cyr-->ncdef; - class cyr node-cyr; - class od2 node-odd-override; - classDef node-odd-override fill:#BB00BB,stroke:#666622; - classDef node-cyr fill:#BB0099,stroke:#666622; - - e1[Class node-cyr
defined by classDef
and inline style]; - class e1 node-e1; - style e1 fill:#FF0000; - e2>Class node-odd-override
defined in page CSS
and defined by classDef
and inline style]; - class e2 node-e2; - style e2 fill:#FF0000; - e((Inline style in
graph definition)); - style e fill:#FF0000; - ninl[Inline style]; - e-->ninl; - e1-->ninl; - e2-->ninl; - classDef node-e1 fill:#990066,stroke:#666622; - classDef node-e2 fill:#990066,stroke:#666622; -
- - - - - From 0a3e9ac8e8ea88adbf5c2fc52386c80b12dd003d Mon Sep 17 00:00:00 2001 From: knsv Date: Tue, 16 Dec 2014 23:23:27 +0100 Subject: [PATCH 05/48] Small change to the README reflecting the new syntax without semicolons for the flowcharts --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 93d043648..c027212de 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,17 @@ graph LR; C-->|Two|E[Result two]; ``` +Below is the new declaration of the graph which since 0.2.16 also is valid along with the old declaration of the graph as described in the graph example on the home wiki page. + +``` +graph LR + A[Hard edge] -->|Link text| B(Round edge) + B --> C{Decision} + C -->|One| D[Result one] + C -->|Two| E[Result two] +``` + + ![Example 2](http://www.sveido.com/mermaid/img/ex2.png) From cebe033b4bcfdf90a3a57f2a0f88e11b48764aa8 Mon Sep 17 00:00:00 2001 From: vijay40 Date: Wed, 17 Dec 2014 15:24:28 +0530 Subject: [PATCH 06/48] The directions can now be specified with special symbols along with acronyms. So >,<,^,v can be used in place of LR,RL,BT,TB respectively. --- src/diagrams/flowchart/parser/flow.jison | 19 +- src/diagrams/flowchart/parser/flow.js | 197 +++++++++++---------- src/diagrams/flowchart/parser/flow.spec.js | 78 ++++++++ 3 files changed, 197 insertions(+), 97 deletions(-) diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index e50988c7e..6f656d31e 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -26,6 +26,8 @@ "." return 'DOT'; "<" return 'TAGSTART'; ">" return 'TAGEND'; +"^" return 'UP' +"v" return 'DOWN' \-\-[x] return 'ARROW_CROSS'; \-\-\> return 'ARROW_POINT'; \-\-[o] return 'ARROW_CIRCLE'; @@ -128,14 +130,21 @@ expressions ; graphConfig - : GRAPH SPACE DIR SEMI - { yy.setDirection($3);$$ = $3;} - | GRAPH SPACE DIR NEWLINE - { yy.setDirection($3);$$ = $3;} - | GRAPH SPACE DIR spaceList NEWLINE + : GRAPH SPACE DIR FirstStmtSeperator { yy.setDirection($3);$$ = $3;} + | GRAPH SPACE TAGEND FirstStmtSeperator + { yy.setDirection("LR");$$ = $3;} + | GRAPH SPACE TAGSTART FirstStmtSeperator + { yy.setDirection("RL");$$ = $3;} + | GRAPH SPACE UP FirstStmtSeperator + { yy.setDirection("BT");$$ = $3;} + | GRAPH SPACE DOWN FirstStmtSeperator + { yy.setDirection("TB");$$ = $3;} ; +FirstStmtSeperator + : SEMI | NEWLINE | spaceList NEWLINE ; + statements : statement spaceListNewline statements | statement statements diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index b62bc7a17..f9c01ee7c 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -89,115 +89,124 @@ break; case 4: this.$=$$[$0-2]; break; -case 5: case 6: +case 5: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; +case 6: + yy.setDirection("LR");this.$ = $$[$0-1]; +break; case 7: - yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; + yy.setDirection("RL");this.$ = $$[$0-1]; break; -case 27: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' +case 8: + yy.setDirection("BT");this.$ = $$[$0-1]; break; -case 28: -this.$ = 'yo'; -break; -case 29: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); -break; -case 30: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); -break; -case 31: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +case 9: + yy.setDirection("TB");this.$ = $$[$0-1]; break; case 32: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; case 33: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = 'yo'; break; case 34: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 35: case 39: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +case 35: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 36: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 40: -this.$ = $$[$0];yy.addVertex($$[$0]); +case 39: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +break; +case 40: case 44: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 41: -this.$ = $$[$0-1];yy.addVertex($$[$0-1]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 42: case 44: case 55: case 57: case 66: -this.$=$$[$0]; +case 42: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 43: case 56: case 58: case 67: -this.$=$$[$0-1]+''+$$[$0]; +case 43: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 45: -this.$=$$[$0-2]+'-'+$$[$0]; +this.$ = $$[$0];yy.addVertex($$[$0]); break; case 46: -$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; +this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: -$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; +case 47: case 49: case 60: case 62: case 71: +this.$=$$[$0]; break; -case 48: -this.$ = $$[$0]; -break; -case 49: case 54: -this.$ = $$[$0-1]; +case 48: case 61: case 63: case 72: +this.$=$$[$0-1]+''+$$[$0]; break; case 50: -this.$ = {"type":"arrow"}; +this.$=$$[$0-2]+'-'+$$[$0]; break; case 51: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; case 52: -this.$ = {"type":"arrow_cross"}; +$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; case 53: +this.$ = $$[$0]; +break; +case 54: case 59: +this.$ = $$[$0-1]; +break; +case 55: +this.$ = {"type":"arrow"}; +break; +case 56: +this.$ = {"type":"arrow_circle"}; +break; +case 57: +this.$ = {"type":"arrow_cross"}; +break; +case 58: this.$ = {"type":"arrow_open"}; break; -case 68: +case 73: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 69: +case 74: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 70: +case 75: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 71: +case 76: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 72: case 73: +case 77: case 78: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 75: +case 80: this.$ = [$$[$0]] break; -case 76: +case 81: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 78: +case 83: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], -defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], +defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -671,15 +680,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 49; +case 0:return 52; break; -case 1:return 50; +case 1:return 53; break; -case 2:return 51; +case 2:return 54; break; -case 3:return 52; +case 3:return 55; break; -case 4:return 53; +case 4:return 56; break; case 5:return 8; break; @@ -695,70 +704,74 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 58; +case 12:return 61; break; -case 13:return 66; +case 13:return 69; break; -case 14:return 64; +case 14:return 67; break; -case 15:return 11; +case 15:return 16; break; -case 16:return 61; +case 16:return 64; break; -case 17:return 70; +case 17:return 73; break; -case 18:return 71; +case 18:return 74; break; -case 19:return 67; +case 19:return 70; break; -case 20:return 34; +case 20:return 13; break; -case 21:return 33; +case 21:return 12; break; -case 22:return 42; +case 22:return 14 break; -case 23:return 40; +case 23:return 15 break; -case 24:return 41; +case 24:return 45; break; case 25:return 43; break; -case 26:return 37; +case 26:return 44; break; -case 27:return 69; +case 27:return 46; break; -case 28:return 59; +case 28:return 40; break; -case 29:return 70; +case 29:return 72; break; -case 30:return 63; +case 30:return 62; break; -case 31:return 44; +case 31:return 73; break; -case 32:return 29; +case 32:return 66; break; -case 33:return 30; +case 33:return 47; break; -case 34:return 26; +case 34:return 34; break; -case 35:return 28; +case 35:return 35; break; -case 36:return 31 +case 36:return 31; break; -case 37:return 32 +case 37:return 33; break; -case 38:return 74; +case 38:return 36 break; -case 39:return 12; +case 39:return 37 break; -case 40:return 9; +case 40:return 77; break; -case 41:return 6; +case 41:return 17; +break; +case 42:return 9; +break; +case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index bf6d0337e..9407fad71 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -30,6 +30,84 @@ describe('when parsing ',function(){ expect(edges[0].text).toBe(''); }); + it('should handle angle bracket '>' as direction LR',function(){ + var res = flow.parser.parse('graph >;A-->B;'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + var direction = flow.parser.yy.getDirection(); + + expect(direction).toBe('LR'); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(1); + expect(edges[0].start).toBe('A'); + expect(edges[0].end).toBe('B'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); + + it('should handle angle bracket '<' as direction RL',function(){ + var res = flow.parser.parse('graph <;A-->B;'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + var direction = flow.parser.yy.getDirection(); + + expect(direction).toBe('RL'); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(1); + expect(edges[0].start).toBe('A'); + expect(edges[0].end).toBe('B'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); + + + it('should handle caret '^' as direction BT',function(){ + var res = flow.parser.parse('graph ^;A-->B;'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + var direction = flow.parser.yy.getDirection(); + + expect(direction).toBe('BT'); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(1); + expect(edges[0].start).toBe('A'); + expect(edges[0].end).toBe('B'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); + + + it('should handle lower-case \'v\' as direction TB',function(){ + var res = flow.parser.parse('graph v;A-->B;'); + + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + var direction = flow.parser.yy.getDirection(); + + expect(direction).toBe('TB'); + + expect(vert['A'].id).toBe('A'); + expect(vert['B'].id).toBe('B'); + expect(edges.length).toBe(1); + expect(edges[0].start).toBe('A'); + expect(edges[0].end).toBe('B'); + expect(edges[0].type).toBe('arrow'); + expect(edges[0].text).toBe(''); + }); + it('should handle a nodes and edges and a space between link and node',function(){ var res = flow.parser.parse('graph TD;A --> B;'); From 0dc8aa32c67a41b48308087f5f1cece101a75147 Mon Sep 17 00:00:00 2001 From: knsv Date: Thu, 18 Dec 2014 23:17:32 +0100 Subject: [PATCH 07/48] Added additional tests for sequence diagram rendering. Removed some log output --- dist/mermaid.full.js | 502 +++++++++++------- dist/mermaid.full.min.js | 11 +- dist/mermaid.slim.js | 502 +++++++++++------- dist/mermaid.slim.min.js | 11 +- src/diagrams/flowchart/parser/flow.spec.js | 9 + .../sequenceDiagram/sequenceDiagram.spec.js | 206 +++++-- .../sequenceDiagram/sequenceRenderer.js | 304 +++++++---- src/main.js | 1 - 8 files changed, 1033 insertions(+), 513 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index f1b664629..ee5f37622 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -14374,12 +14374,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14391,115 +14391,124 @@ break; case 4: this.$=$$[$0-2]; break; -case 5: case 6: +case 5: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; +case 6: + yy.setDirection("LR");this.$ = $$[$0-1]; +break; case 7: - yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; + yy.setDirection("RL");this.$ = $$[$0-1]; break; -case 27: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' +case 8: + yy.setDirection("BT");this.$ = $$[$0-1]; break; -case 28: -this.$ = 'yo'; -break; -case 29: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); -break; -case 30: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); -break; -case 31: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +case 9: + yy.setDirection("TB");this.$ = $$[$0-1]; break; case 32: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; case 33: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = 'yo'; break; case 34: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 35: case 39: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +case 35: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 36: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 40: -this.$ = $$[$0];yy.addVertex($$[$0]); +case 39: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +break; +case 40: case 44: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 41: -this.$ = $$[$0-1];yy.addVertex($$[$0-1]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 42: case 44: case 55: case 57: case 66: -this.$=$$[$0]; +case 42: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 43: case 56: case 58: case 67: -this.$=$$[$0-1]+''+$$[$0]; +case 43: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 45: -this.$=$$[$0-2]+'-'+$$[$0]; +this.$ = $$[$0];yy.addVertex($$[$0]); break; case 46: -$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; +this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: -$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; +case 47: case 49: case 60: case 62: case 71: +this.$=$$[$0]; break; -case 48: -this.$ = $$[$0]; -break; -case 49: case 54: -this.$ = $$[$0-1]; +case 48: case 61: case 63: case 72: +this.$=$$[$0-1]+''+$$[$0]; break; case 50: -this.$ = {"type":"arrow"}; +this.$=$$[$0-2]+'-'+$$[$0]; break; case 51: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; case 52: -this.$ = {"type":"arrow_cross"}; +$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; case 53: +this.$ = $$[$0]; +break; +case 54: case 59: +this.$ = $$[$0-1]; +break; +case 55: +this.$ = {"type":"arrow"}; +break; +case 56: +this.$ = {"type":"arrow_circle"}; +break; +case 57: +this.$ = {"type":"arrow_cross"}; +break; +case 58: this.$ = {"type":"arrow_open"}; break; -case 68: +case 73: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 69: +case 74: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 70: +case 75: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 71: +case 76: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 72: case 73: +case 77: case 78: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 75: +case 80: this.$ = [$$[$0]] break; -case 76: +case 81: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 78: +case 83: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], -defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], +defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14973,15 +14982,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 49; +case 0:return 52; break; -case 1:return 50; +case 1:return 53; break; -case 2:return 51; +case 2:return 54; break; -case 3:return 52; +case 3:return 55; break; -case 4:return 53; +case 4:return 56; break; case 5:return 8; break; @@ -14997,70 +15006,74 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 58; +case 12:return 61; break; -case 13:return 66; +case 13:return 69; break; -case 14:return 64; +case 14:return 67; break; -case 15:return 11; +case 15:return 16; break; -case 16:return 61; +case 16:return 64; break; -case 17:return 70; +case 17:return 73; break; -case 18:return 71; +case 18:return 74; break; -case 19:return 67; +case 19:return 70; break; -case 20:return 34; +case 20:return 13; break; -case 21:return 33; +case 21:return 12; break; -case 22:return 42; +case 22:return 14 break; -case 23:return 40; +case 23:return 15 break; -case 24:return 41; +case 24:return 45; break; case 25:return 43; break; -case 26:return 37; +case 26:return 44; break; -case 27:return 69; +case 27:return 46; break; -case 28:return 59; +case 28:return 40; break; -case 29:return 70; +case 29:return 72; break; -case 30:return 63; +case 30:return 62; break; -case 31:return 44; +case 31:return 73; break; -case 32:return 29; +case 32:return 66; break; -case 33:return 30; +case 33:return 47; break; -case 34:return 26; +case 34:return 34; break; -case 35:return 28; +case 35:return 35; break; -case 36:return 31 +case 36:return 31; break; -case 37:return 32 +case 37:return 33; break; -case 38:return 74; +case 38:return 36 break; -case 39:return 12; +case 39:return 37 break; -case 40:return 9; +case 40:return 77; break; -case 41:return 6; +case 41:return 17; +break; +case 42:return 9; +break; +case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43],"inclusive":true}} }); return lexer; })(); @@ -15882,6 +15895,85 @@ exports.parseError = function(err, hash) { var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +exports.bounds = { + data:{ + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }, + verticalPos:0, + + list: [], + init : function(){ + this.list = []; + this.data = { + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }; + this.verticalPos =0; + }, + applyMin:function(minVal, margin){ + var minValue = minVal; + this.list.forEach(function(loop){ + if(typeof loop.startx === 'undefined'){ + loop.startx = minValue - margin; + }else{ + loop.startx = Math.min(minValue - margin,loop.startx); + } + minValue = loop.startx; + }); + return minValue; + }, + applyMax:function(maxVal, margin){ + var maxValue = maxVal; + this.list.forEach(function(loop){ + if(typeof loop.stopx === 'undefined'){ + loop.stopx = maxValue + margin; + }else{ + loop.stopx = Math.max(maxValue + margin,loop.stopx); + } + maxValue = loop.stopx; + }); + + return maxValue; + }, + insert:function(startx,starty,stopx,stopy){ + var updateVal = function (key,val,fun){ + if(typeof exports.bounds.data[key] === 'undefined'){ + //console.log('Setting startx',startx); + exports.bounds.data[key] = val; + }else{ + exports.bounds.data[key] = fun(val,exports.bounds.data[key]); + } + }; + updateVal('startx',startx,Math.min); + updateVal('starty',starty,Math.min); + updateVal('stopx' ,stopx ,Math.max); + updateVal('stopy' ,stopy ,Math.max); + + //updateLoops(); + }, + newLoop:function(){ + this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + }, + endLoop:function(){ + var loop = this.list.pop(); + loop.stopy = exports.bounds.getVerticalPos(); + }, + bumpVerticalPos:function(bump){ + this.verticalPos = this.verticalPos + bump; + }, + getVerticalPos:function(){ + return this.verticalPos; + }, + getBounds:function(){ + return this.data; + } +}; + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -15891,11 +15983,11 @@ sq.yy = require('./sequenceDb'); var drawNote = function(elem, startX, verticalPos, msg){ var g = elem.append("g"); var rectElem = g.append("rect") - .attr("x", startX + 25) - .attr("y", verticalPos -25) + .attr("x", startX + conf.noteMargin) + .attr("y", verticalPos - conf.noteMargin) .attr("fill", '#EDF2AE') .attr("stroke", '#666') - .attr("width", 150) + .attr("width", conf.width) .attr("height", 100) .attr("rx", 0) .attr("ry", 0); @@ -15910,10 +16002,14 @@ var drawNote = function(elem, startX, verticalPos, msg){ .text(rowText); }); - console.log('textElem.height'); - console.log(textElem[0][0].getBBox()); + exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + + //console.log('textElem.height'); + //console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); + exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + return verticalPos + textElem[0][0].getBBox().height - 10; }; @@ -15979,15 +16075,102 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); + + //console.log('Setting message bounds'); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ - g.append("text") // text label for the x axis + var textElem = g.append("text") .attr("x", txtCenter) - .attr("y", verticalPos - 10) + .attr("y", exports.bounds.getVerticalPos() - 10) .style("text-anchor", "middle") .text(msg.message); + var box = textElem[0][0].getBBox(); + + exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); } }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +var drawActor = function(elem, center, pos, description,i){ + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", conf.diagramMarginY) + .attr("x2", center) + .attr("y2", 2000) + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) + .attr("y", conf.diagramMarginY) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) + .attr("y", conf.diagramMarginY+37.5) + .style("text-anchor", "middle") + .text(description) + ; + + exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); +}; + +module.exports.drawActors = function(diagram, actors, actorKeys){ + var i; + // Draw the actors + for(i=0;i=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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){x(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),_=e("./rank"),x=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,M)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},u=function(e,t,r,n,i){var u=e.append("g"),a=t+(r-t)/2;2!==i.type?(1===i.type?u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)):u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var a,o=50,s=50,c=150,l=65,h=10,d=d3.select("#"+t),p=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",h).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",o+r*s+150*a).attr("y",h).attr("fill","#eaeaea").attr("stroke","#666").attr("width",c).attr("height",l).attr("rx",3).attr("ry",3),i.append("text").attr("x",o+r*s+a*c+75).attr("y",h+37.5).style("text-anchor","middle").text(n)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0,v=0;for(a=0;a/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Jn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Mr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Mn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",M="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[M]=!1,z[O]=z[P]=z[j]=z[U]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return M.lexer=V,e.prototype=M,M.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],M=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],X=[1,108],J=[1,109],Q=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],Et=[1,180],wt=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:Et}),t(wt,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:Et}),t(_,[2,78],{64:Et}),t(_,[2,73],{64:Et}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(wt,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb"),r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},applyMin:function(e,t){var r=e;return this.list.forEach(function(e){e.startx="undefined"==typeof e.startx?r-t:Math.min(r-t,e.startx),r=e.startx}),r},applyMax:function(e,t){var r=e;return this.list.forEach(function(e){e.stopx="undefined"==typeof e.stopx?r+t:Math.max(r+t,e.stopx),r=e.stopx}),r},insert:function(e,t,n,i){var u=function(e,t,n){r.bounds.data[e]="undefined"==typeof r.bounds.data[e]?t:n(t,r.bounds.data[e])};u("startx",e,Math.min),u("starty",t,Math.min),u("stopx",n,Math.max),u("stopy",i,Math.max)},newLoop:function(){this.list.push({startx:void 0,starty:r.bounds.getVerticalPos(),stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();e.stopy=r.bounds.getVerticalPos()},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var i=function(e,t,n,i){var u=e.append("g"),a=u.append("rect").attr("x",t+s.noteMargin).attr("y",n-s.noteMargin).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",s.width).attr("height",100).attr("rx",0).attr("ry",0),o=u.append("text").attr("x",t+10).attr("y",n-15).style("text-anchor","start");return i.message.split("
").forEach(function(e){o.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),r.bounds.insert(t+s.noteMargin,n-s.noteMargin,t+s.noteMargin+s.width,n-s.noteMargin+o[0][0].getBBox().height+20),a.attr("height",o[0][0].getBBox().height+20),r.bounds.verticalPos=n+o[0][0].getBBox().height-10,n+o[0][0].getBBox().height-10},u=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},a=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},o=function(e,t,n,i,u){var a=e.append("g");a.append("line").attr("x1",t).attr("y1",s.diagramMarginY).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",s.diagramMarginX+n*s.messageMargin+150*u).attr("y",s.diagramMarginY).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s.width).attr("height",s.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",s.diagramMarginX+n*s.messageMargin+u*s.width+75).attr("y",s.diagramMarginY+37.5).style("text-anchor","middle").text(i),r.bounds.insert(s.diagramMarginX+n*s.margin+150*u,s.diagramMarginY,s.diagramMarginX+n*s.margin+150*u+s.width,s.diagramMarginY+s.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph" +},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 3833a736a..5090df2a2 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -14342,12 +14342,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,11,12],$Vn=[6,11,12,40,41,42,43],$Vo=[6,9,11,12,26,29,31,33,34,40,41,42,43],$Vp=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],$Vq=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$Vr=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$Vs=[1,106],$Vt=[1,98],$Vu=[1,107],$Vv=[1,96],$Vw=[1,85],$Vx=[1,86],$Vy=[1,83],$Vz=[1,84],$VA=[1,87],$VB=[1,88],$VC=[1,81],$VD=[1,80],$VE=[1,99],$VF=[1,92],$VG=[1,93],$VH=[1,91],$VI=[1,94],$VJ=[1,82],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,104],$VO=[1,105],$VP=[1,89],$VQ=[1,90],$VR=[1,95],$VS=[58,61,63,64,66,67,69,70,71],$VT=[9,44,58,61,63,64,66,67,69,70,71],$VU=[1,129],$VV=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],$VW=[2,92],$VX=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VY=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],$VZ=[1,157],$V_=[1,154],$V$=[1,158],$V01=[1,155],$V11=[1,152],$V21=[1,153],$V31=[1,156],$V41=[1,159],$V51=[1,160],$V61=[2,39],$V71=[1,171],$V81=[6,11,12,61],$V91=[6,9,11,12,37,57,58,61,63,64,65,66,67]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"SEMI":11,"NEWLINE":12,"spaceList":13,"statement":14,"commentStatement":15,"verticeStatement":16,"separator":17,"styleStatement":18,"linkStyleStatement":19,"classDefStatement":20,"classStatement":21,"clickStatement":22,"vertex":23,"link":24,"alphaNum":25,"SQS":26,"text":27,"SQE":28,"PS":29,"PE":30,"DIAMOND_START":31,"DIAMOND_STOP":32,"TAGEND":33,"TAGSTART":34,"alphaNumStatement":35,"alphaNumToken":36,"MINUS":37,"linkStatement":38,"arrowText":39,"ARROW_POINT":40,"ARROW_CIRCLE":41,"ARROW_CROSS":42,"ARROW_OPEN":43,"PIPE":44,"textToken":45,"commentText":46,"commentToken":47,"keywords":48,"STYLE":49,"LINKSTYLE":50,"CLASSDEF":51,"CLASS":52,"CLICK":53,"textNoTags":54,"textNoTagsToken":55,"stylesOpt":56,"HEX":57,"NUM":58,"PCT":59,"style":60,"COMMA":61,"styleComponent":62,"ALPHA":63,"COLON":64,"UNIT":65,"BRKT":66,"DOT":67,"graphCodeTokens":68,"PLUS":69,"EQUALS":70,"MULT":71,"TAG_START":72,"TAG_END":73,"QUOTE":74,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14359,115 +14359,124 @@ break; case 4: this.$=$$[$0-2]; break; -case 5: case 6: +case 5: yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; break; +case 6: + yy.setDirection("LR");this.$ = $$[$0-1]; +break; case 7: - yy.setDirection($$[$0-2]);this.$ = $$[$0-2]; + yy.setDirection("RL");this.$ = $$[$0-1]; break; -case 27: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' +case 8: + yy.setDirection("BT");this.$ = $$[$0-1]; break; -case 28: -this.$ = 'yo'; -break; -case 29: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); -break; -case 30: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); -break; -case 31: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +case 9: + yy.setDirection("TB");this.$ = $$[$0-1]; break; case 32: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = 'oy' break; case 33: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = 'yo'; break; case 34: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; -case 35: case 39: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +case 35: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 36: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; -case 40: -this.$ = $$[$0];yy.addVertex($$[$0]); +case 39: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +break; +case 40: case 44: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 41: -this.$ = $$[$0-1];yy.addVertex($$[$0-1]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; -case 42: case 44: case 55: case 57: case 66: -this.$=$$[$0]; +case 42: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; -case 43: case 56: case 58: case 67: -this.$=$$[$0-1]+''+$$[$0]; +case 43: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 45: -this.$=$$[$0-2]+'-'+$$[$0]; +this.$ = $$[$0];yy.addVertex($$[$0]); break; case 46: -$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; +this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: -$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; +case 47: case 49: case 60: case 62: case 71: +this.$=$$[$0]; break; -case 48: -this.$ = $$[$0]; -break; -case 49: case 54: -this.$ = $$[$0-1]; +case 48: case 61: case 63: case 72: +this.$=$$[$0-1]+''+$$[$0]; break; case 50: -this.$ = {"type":"arrow"}; +this.$=$$[$0-2]+'-'+$$[$0]; break; case 51: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; case 52: -this.$ = {"type":"arrow_cross"}; +$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; case 53: +this.$ = $$[$0]; +break; +case 54: case 59: +this.$ = $$[$0-1]; +break; +case 55: +this.$ = {"type":"arrow"}; +break; +case 56: +this.$ = {"type":"arrow_circle"}; +break; +case 57: +this.$ = {"type":"arrow_cross"}; +break; +case 58: this.$ = {"type":"arrow_open"}; break; -case 68: +case 73: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 69: +case 74: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 70: +case 75: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 71: +case 76: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 72: case 73: +case 77: case 78: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 75: +case 80: this.$ = [$$[$0]] break; -case 76: +case 81: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 78: +case 83: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,12:$V1,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:$V0,12:$V1,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vi,[2,14],{7:40,9:$V0,12:$V1}),o($Vi,[2,13],{7:41,9:$V0,12:$V1}),{12:[1,42]},{6:$Vj,11:$Vk,12:$Vl,17:43},{6:$Vj,11:$Vk,12:$Vl,17:47},{6:$Vj,11:$Vk,12:$Vl,17:48},{6:$Vj,11:$Vk,12:$Vl,17:49},{6:$Vj,11:$Vk,12:$Vl,17:50},{6:$Vj,11:$Vk,12:$Vl,17:51},{59:[1,52]},o($Vm,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),o($Vo,[2,42],{35:24,36:25,25:70,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg}),o($Vp,[2,44],{37:[1,71]}),o($Vq,[2,97]),o($Vq,[2,98]),o($Vq,[2,99]),o($Vq,[2,100]),o($Vq,[2,101]),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:$V2,50:$V3,51:$V4,52:$V5,53:$V6,58:$V7,59:$V8,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vh,[2,9]),o($Vi,[2,11]),o($Vi,[2,12]),o($Vr,[2,17]),o($Vr,[2,18]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,19]),o($Vr,[2,20]),o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,46:75,47:76,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},{23:108,25:23,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VS,[2,48],{39:109,9:[1,110],44:[1,111]}),o($VT,[2,50]),o($VT,[2,51]),o($VT,[2,52]),o($VT,[2,53]),{25:112,35:24,36:25,57:[1,113],58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{58:[1,114]},{25:115,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:116,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:117,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:118,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:121,29:[1,120],33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:122,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:123,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,27:124,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,41]),o($Vo,[2,43]),{36:125,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VU,11:[1,126],12:[1,127],13:128},{1:[2,3]},o($Vh,[2,8]),{8:$Vs,9:$Vt,10:$Vu,11:$Vv,12:[2,74],26:$Vw,28:$Vx,29:$Vy,30:$Vz,31:$VA,32:$VB,33:$VC,34:$VD,36:97,37:$VE,40:$VF,41:$VG,42:$VH,43:$VI,44:$VJ,45:77,47:130,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,68:78,69:$Ve,70:$Vf,71:$Vg,72:$VP,73:$VQ,74:$VR},o($VV,[2,57]),o($VV,[2,88]),o($VV,[2,89]),o($VV,[2,90]),o($VV,[2,91]),o($VV,$VW),o($VV,[2,106]),o($VV,[2,107]),o($VV,[2,108]),o($VV,[2,109]),o($VV,[2,110]),o($VV,[2,111]),o($VV,[2,112]),o($VV,[2,113]),o($VV,[2,114]),o($VV,[2,115]),o($VV,[2,116]),o($VV,[2,117]),o($VV,[2,118]),o($VV,[2,119]),o($VV,[2,120]),o($VV,[2,93]),o($VV,[2,94]),o($VV,[2,95]),o($VV,[2,96]),o($VV,[2,59]),o($VV,[2,60]),o($VV,[2,61]),o($VV,[2,62]),o($VV,[2,63]),o($VV,[2,64]),o($VV,[2,65]),o($Vm,[2,27]),o($VS,[2,46],{9:[1,131]}),o($VS,[2,49]),{8:$Vs,9:$Vt,10:$Vu,27:132,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:$Vs,9:$Vt,10:$Vu,28:[1,139],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($VX,[2,55]),{8:$Vs,9:$Vt,10:$Vu,27:141,33:$VC,34:$VD,36:97,37:$VE,45:119,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,30:[1,142],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,32:[1,143],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,28:[1,144],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{8:$Vs,9:$Vt,10:$Vu,33:[1,145],34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vp,[2,45]),o($VY,[2,5]),o($VY,[2,6]),{12:[1,146]},{9:$VU,12:[2,16],13:147},o($VV,[2,58]),o($VS,[2,47]),{8:$Vs,9:$Vt,10:$Vu,33:$VC,34:$VD,36:97,37:$VE,44:[1,148],45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{9:$VZ,37:$V_,56:149,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:161,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:162,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{9:$VZ,37:$V_,56:163,57:$V$,58:$V01,60:150,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},{25:164,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},{25:165,35:24,36:25,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,29],{9:[1,166]}),o($VX,[2,56]),{8:$Vs,9:$Vt,10:$Vu,30:[1,167],33:$VC,34:$VD,36:97,37:$VE,45:140,48:100,49:$VK,50:$VL,51:$VM,52:$VN,53:$VO,55:79,58:$V7,61:$V9,63:$Va,64:$Vb,66:$Vc,67:$Vd,69:$Ve,70:$Vf,71:$Vg},o($Vn,[2,33],{9:[1,168]}),o($Vn,[2,35],{9:[1,169]}),o($Vn,[2,37],{9:[1,170]}),o([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],$VW,{6:$V61,11:$V61,12:$V61,40:$V61,41:$V61,42:$V61,43:$V61}),o($VY,[2,7]),{12:[2,15]},o([9,58,61,63,64,66,67,69,70,71],[2,54]),o($Vm,[2,71],{61:$V71}),o($V81,[2,75],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($V91,[2,77]),o($V91,[2,79]),o($V91,[2,80]),o($V91,[2,81]),o($V91,[2,82]),o($V91,[2,83]),o($V91,[2,84]),o($V91,[2,85]),o($V91,[2,86]),o($V91,[2,87]),o($Vm,[2,72],{61:$V71}),o($Vm,[2,73],{61:$V71}),o($Vm,[2,68],{61:$V71}),o($Vm,[2,69]),o($Vm,[2,70]),o($Vn,[2,30]),{30:[1,173]},o($Vn,[2,34]),o($Vn,[2,36]),o($Vn,[2,38]),{9:$VZ,37:$V_,57:$V$,58:$V01,60:174,62:151,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51},o($V91,[2,78]),o($Vn,[2,31],{9:[1,175]}),o($V81,[2,76],{62:172,9:$VZ,37:$V_,57:$V$,58:$V01,63:$V11,64:$V21,65:$V31,66:$V41,67:$V51}),o($Vn,[2,32])], -defaultActions: {36:[2,1],73:[2,3],147:[2,15]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], +defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14941,15 +14950,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 49; +case 0:return 52; break; -case 1:return 50; +case 1:return 53; break; -case 2:return 51; +case 2:return 54; break; -case 3:return 52; +case 3:return 55; break; -case 4:return 53; +case 4:return 56; break; case 5:return 8; break; @@ -14965,70 +14974,74 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 58; +case 12:return 61; break; -case 13:return 66; +case 13:return 69; break; -case 14:return 64; +case 14:return 67; break; -case 15:return 11; +case 15:return 16; break; -case 16:return 61; +case 16:return 64; break; -case 17:return 70; +case 17:return 73; break; -case 18:return 71; +case 18:return 74; break; -case 19:return 67; +case 19:return 70; break; -case 20:return 34; +case 20:return 13; break; -case 21:return 33; +case 21:return 12; break; -case 22:return 42; +case 22:return 14 break; -case 23:return 40; +case 23:return 15 break; -case 24:return 41; +case 24:return 45; break; case 25:return 43; break; -case 26:return 37; +case 26:return 44; break; -case 27:return 69; +case 27:return 46; break; -case 28:return 59; +case 28:return 40; break; -case 29:return 70; +case 29:return 72; break; -case 30:return 63; +case 30:return 62; break; -case 31:return 44; +case 31:return 73; break; -case 32:return 29; +case 32:return 66; break; -case 33:return 30; +case 33:return 47; break; -case 34:return 26; +case 34:return 34; break; -case 35:return 28; +case 35:return 35; break; -case 36:return 31 +case 36:return 31; break; -case 37:return 32 +case 37:return 33; break; -case 38:return 74; +case 38:return 36 break; -case 39:return 12; +case 39:return 37 break; -case 40:return 9; +case 40:return 77; break; -case 41:return 6; +case 41:return 17; +break; +case 42:return 9; +break; +case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43],"inclusive":true}} }); return lexer; })(); @@ -15850,6 +15863,85 @@ exports.parseError = function(err, hash) { var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +exports.bounds = { + data:{ + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }, + verticalPos:0, + + list: [], + init : function(){ + this.list = []; + this.data = { + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }; + this.verticalPos =0; + }, + applyMin:function(minVal, margin){ + var minValue = minVal; + this.list.forEach(function(loop){ + if(typeof loop.startx === 'undefined'){ + loop.startx = minValue - margin; + }else{ + loop.startx = Math.min(minValue - margin,loop.startx); + } + minValue = loop.startx; + }); + return minValue; + }, + applyMax:function(maxVal, margin){ + var maxValue = maxVal; + this.list.forEach(function(loop){ + if(typeof loop.stopx === 'undefined'){ + loop.stopx = maxValue + margin; + }else{ + loop.stopx = Math.max(maxValue + margin,loop.stopx); + } + maxValue = loop.stopx; + }); + + return maxValue; + }, + insert:function(startx,starty,stopx,stopy){ + var updateVal = function (key,val,fun){ + if(typeof exports.bounds.data[key] === 'undefined'){ + //console.log('Setting startx',startx); + exports.bounds.data[key] = val; + }else{ + exports.bounds.data[key] = fun(val,exports.bounds.data[key]); + } + }; + updateVal('startx',startx,Math.min); + updateVal('starty',starty,Math.min); + updateVal('stopx' ,stopx ,Math.max); + updateVal('stopy' ,stopy ,Math.max); + + //updateLoops(); + }, + newLoop:function(){ + this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + }, + endLoop:function(){ + var loop = this.list.pop(); + loop.stopy = exports.bounds.getVerticalPos(); + }, + bumpVerticalPos:function(bump){ + this.verticalPos = this.verticalPos + bump; + }, + getVerticalPos:function(){ + return this.verticalPos; + }, + getBounds:function(){ + return this.data; + } +}; + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -15859,11 +15951,11 @@ sq.yy = require('./sequenceDb'); var drawNote = function(elem, startX, verticalPos, msg){ var g = elem.append("g"); var rectElem = g.append("rect") - .attr("x", startX + 25) - .attr("y", verticalPos -25) + .attr("x", startX + conf.noteMargin) + .attr("y", verticalPos - conf.noteMargin) .attr("fill", '#EDF2AE') .attr("stroke", '#666') - .attr("width", 150) + .attr("width", conf.width) .attr("height", 100) .attr("rx", 0) .attr("ry", 0); @@ -15878,10 +15970,14 @@ var drawNote = function(elem, startX, verticalPos, msg){ .text(rowText); }); - console.log('textElem.height'); - console.log(textElem[0][0].getBBox()); + exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + + //console.log('textElem.height'); + //console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); + exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + return verticalPos + textElem[0][0].getBBox().height - 10; }; @@ -15947,15 +16043,102 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); + + //console.log('Setting message bounds'); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ - g.append("text") // text label for the x axis + var textElem = g.append("text") .attr("x", txtCenter) - .attr("y", verticalPos - 10) + .attr("y", exports.bounds.getVerticalPos() - 10) .style("text-anchor", "middle") .text(msg.message); + var box = textElem[0][0].getBBox(); + + exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); } }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +var drawActor = function(elem, center, pos, description,i){ + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", conf.diagramMarginY) + .attr("x2", center) + .attr("y2", 2000) + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) + .attr("y", conf.diagramMarginY) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) + .attr("y", conf.diagramMarginY+37.5) + .style("text-anchor", "middle") + .text(description) + ; + + exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); +}; + +module.exports.drawActors = function(diagram, actors, actorKeys){ + var i; + // Draw the actors + for(i=0;im?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){_(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){x(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new q({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,T),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),_=e("./rank"),x=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),q=e("./graphlib").Graph;t.exports=r;var T=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,M)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},_=w.hasOwnProperty,x=function(e,t){return _.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&x(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,x(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},q={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return q});else if(i&&!i.nodeType)if(u)u.exports=q;else for(var T in q)x(q,T)&&(i[T]=q[T]);else n.he=q}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new _n;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new _n;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new _n;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new _n;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new _n;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return Tn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new _n;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new _n;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(T,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(x,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)Tn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+_+"]*0+(?=.$)"),N=/($^)/,q=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],_=[10,28,37,57,58],x=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],q=[1,68],T=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(_,x,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(_,[2,48]),t(_,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(_,[2,51],{45:[1,86]}),t(_,[2,52]),t(_,[2,56]),t(_,[2,57]),t(_,[2,58]),t(_,[2,59]),t(_,[2,60]),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),t(_,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(_,x,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(_,[2,55]),{10:[1,94]},t(_,B,{46:95,48:S,49:L,50:N,51:q,52:T,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(_,[2,54]),{5:[2,3]},t(_,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(_,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],E=[1,46],w=[1,45],_=[1,44],x=[6,11,12],D=[6,11,12,40,41,42,43],k=[6,9,11,12,26,29,31,33,34,40,41,42,43],C=[6,9,11,12,26,29,31,33,34,40,41,42,43,58,61,63,64,66,67,69,70,71],F=[6,8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],B=[1,6,9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],S=[1,106],L=[1,98],N=[1,107],q=[1,96],T=[1,85],I=[1,86],R=[1,83],O=[1,84],P=[1,87],j=[1,88],U=[1,81],V=[1,80],M=[1,99],G=[1,92],$=[1,93],H=[1,91],z=[1,94],Y=[1,82],W=[1,101],Z=[1,102],K=[1,103],J=[1,104],Q=[1,105],X=[1,89],et=[1,90],tt=[1,95],rt=[58,61,63,64,66,67,69,70,71],nt=[9,44,58,61,63,64,66,67,69,70,71],it=[1,129],ut=[8,9,10,11,12,26,28,29,30,31,32,33,34,37,40,41,42,43,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71,72,73,74],at=[2,92],ot=[8,9,10,28,30,32,33,34,37,44,49,50,51,52,53,58,61,63,64,66,67,69,70,71],st=[9,12,49,50,51,52,53,58,59,61,63,64,66,67,69,70,71],ct=[1,157],lt=[1,154],ht=[1,158],dt=[1,155],pt=[1,152],ft=[1,153],gt=[1,156],yt=[1,159],mt=[1,160],vt=[2,39],bt=[1,171],At=[6,11,12,61],Et=[6,9,11,12,37,57,58,61,63,64,65,66,67],wt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,SEMI:11,NEWLINE:12,spaceList:13,statement:14,commentStatement:15,verticeStatement:16,separator:17,styleStatement:18,linkStyleStatement:19,classDefStatement:20,classStatement:21,clickStatement:22,vertex:23,link:24,alphaNum:25,SQS:26,text:27,SQE:28,PS:29,PE:30,DIAMOND_START:31,DIAMOND_STOP:32,TAGEND:33,TAGSTART:34,alphaNumStatement:35,alphaNumToken:36,MINUS:37,linkStatement:38,arrowText:39,ARROW_POINT:40,ARROW_CIRCLE:41,ARROW_CROSS:42,ARROW_OPEN:43,PIPE:44,textToken:45,commentText:46,commentToken:47,keywords:48,STYLE:49,LINKSTYLE:50,CLASSDEF:51,CLASS:52,CLICK:53,textNoTags:54,textNoTagsToken:55,stylesOpt:56,HEX:57,NUM:58,PCT:59,style:60,COMMA:61,styleComponent:62,ALPHA:63,COLON:64,UNIT:65,BRKT:66,DOT:67,graphCodeTokens:68,PLUS:69,EQUALS:70,MULT:71,TAG_START:72,TAG_END:73,QUOTE:74,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",11:"SEMI",12:"NEWLINE",26:"SQS",28:"SQE",29:"PS",30:"PE",31:"DIAMOND_START",32:"DIAMOND_STOP",33:"TAGEND",34:"TAGSTART",37:"MINUS",40:"ARROW_POINT",41:"ARROW_CIRCLE",42:"ARROW_CROSS",43:"ARROW_OPEN",44:"PIPE",49:"STYLE",50:"LINKSTYLE",51:"CLASSDEF",52:"CLASS",53:"CLICK",57:"HEX",58:"NUM",59:"PCT",61:"COMMA",63:"ALPHA",64:"COLON",65:"UNIT",66:"BRKT",67:"DOT",69:"PLUS",70:"EQUALS",71:"MULT",72:"TAG_START",73:"TAG_END",74:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,5],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[14,2],[17,1],[17,1],[17,1],[16,3],[16,1],[23,4],[23,5],[23,6],[23,7],[23,4],[23,5],[23,4],[23,5],[23,4],[23,5],[23,4],[23,1],[23,2],[25,1],[25,2],[35,1],[35,3],[24,2],[24,3],[24,1],[24,2],[38,1],[38,1],[38,1],[38,1],[39,3],[27,1],[27,2],[46,1],[46,2],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[48,1],[54,1],[54,2],[20,5],[21,5],[22,5],[18,5],[18,5],[19,5],[15,3],[56,1],[56,3],[60,1],[60,2],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[47,1],[47,1],[45,1],[45,1],[45,1],[55,1],[55,1],[55,1],[55,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:case 6:n.setDirection(u[a-1]),this.$=u[a-1];break;case 7:n.setDirection(u[a-2]),this.$=u[a-2];break;case 27:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 28:this.$="yo";break;case 29:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 30:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 31:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 32:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 33:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 34:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 35:case 39:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 36:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 37:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 38:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 40:this.$=u[a],n.addVertex(u[a]);break;case 41:this.$=u[a-1],n.addVertex(u[a-1]);break;case 42:case 44:case 55:case 57:case 66:this.$=u[a];break;case 43:case 56:case 58:case 67:this.$=u[a-1]+""+u[a];break;case 45:this.$=u[a-2]+"-"+u[a];break;case 46:u[a-1].text=u[a],this.$=u[a-1];break;case 47:u[a-2].text=u[a-1],this.$=u[a-2];break;case 48:this.$=u[a];break;case 49:case 54:this.$=u[a-1];break;case 50:this.$={type:"arrow"};break;case 51:this.$={type:"arrow_circle"};break;case 52:this.$={type:"arrow_cross"};break;case 53:this.$={type:"arrow_open"};break;case 68:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 69:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 70:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 71:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 72:case 73:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 75:this.$=[u[a]];break;case 76:u[a-2].push(u[a]),this.$=u[a-2];break;case 78:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,12:n,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,10],{14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,7:38,5:39,9:r,12:n,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(A,[2,14],{7:40,9:r,12:n}),t(A,[2,13],{7:41,9:r,12:n}),{12:[1,42]},{6:E,11:w,12:_,17:43},{6:E,11:w,12:_,17:47},{6:E,11:w,12:_,17:48},{6:E,11:w,12:_,17:49},{6:E,11:w,12:_,17:50},{6:E,11:w,12:_,17:51},{59:[1,52]},t(x,[2,28],{24:53,38:54,40:[1,55],41:[1,56],42:[1,57],43:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,40],{9:[1,69],26:[1,64],29:[1,65],31:[1,66],33:[1,67],34:[1,68]}),t(k,[2,42],{35:24,36:25,25:70,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v}),t(C,[2,44],{37:[1,71]}),t(F,[2,97]),t(F,[2,98]),t(F,[2,99]),t(F,[2,100]),t(F,[2,101]),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),{10:[1,72]},{1:[2,1]},{1:[2,4],6:[1,73]},{5:74,14:6,15:9,16:10,18:11,19:12,20:13,21:14,22:15,23:17,25:23,35:24,36:25,49:i,50:u,51:a,52:o,53:s,58:c,59:l,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(b,[2,9]),t(A,[2,11]),t(A,[2,12]),t(B,[2,17]),t(B,[2,18]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(B,[2,23]),{8:S,9:L,10:N,11:q,26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,46:75,47:76,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},{23:108,25:23,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(rt,[2,48],{39:109,9:[1,110],44:[1,111]}),t(nt,[2,50]),t(nt,[2,51]),t(nt,[2,52]),t(nt,[2,53]),{25:112,35:24,36:25,57:[1,113],58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{58:[1,114]},{25:115,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:116,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:117,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:118,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:121,29:[1,120],33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:122,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:123,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,27:124,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,41]),t(k,[2,43]),{36:125,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:it,11:[1,126],12:[1,127],13:128},{1:[2,3]},t(b,[2,8]),{8:S,9:L,10:N,11:q,12:[2,74],26:T,28:I,29:R,30:O,31:P,32:j,33:U,34:V,36:97,37:M,40:G,41:$,42:H,43:z,44:Y,45:77,47:130,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,68:78,69:y,70:m,71:v,72:X,73:et,74:tt},t(ut,[2,57]),t(ut,[2,88]),t(ut,[2,89]),t(ut,[2,90]),t(ut,[2,91]),t(ut,at),t(ut,[2,106]),t(ut,[2,107]),t(ut,[2,108]),t(ut,[2,109]),t(ut,[2,110]),t(ut,[2,111]),t(ut,[2,112]),t(ut,[2,113]),t(ut,[2,114]),t(ut,[2,115]),t(ut,[2,116]),t(ut,[2,117]),t(ut,[2,118]),t(ut,[2,119]),t(ut,[2,120]),t(ut,[2,93]),t(ut,[2,94]),t(ut,[2,95]),t(ut,[2,96]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(x,[2,27]),t(rt,[2,46],{9:[1,131]}),t(rt,[2,49]),{8:S,9:L,10:N,27:132,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:[1,133]},{9:[1,134]},{9:[1,135]},{9:[1,136]},{9:[1,137]},{9:[1,138]},{8:S,9:L,10:N,28:[1,139],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(ot,[2,55]),{8:S,9:L,10:N,27:141,33:U,34:V,36:97,37:M,45:119,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,30:[1,142],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,32:[1,143],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,28:[1,144],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{8:S,9:L,10:N,33:[1,145],34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(C,[2,45]),t(st,[2,5]),t(st,[2,6]),{12:[1,146]},{9:it,12:[2,16],13:147},t(ut,[2,58]),t(rt,[2,47]),{8:S,9:L,10:N,33:U,34:V,36:97,37:M,44:[1,148],45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{9:ct,37:lt,56:149,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:161,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:162,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{9:ct,37:lt,56:163,57:ht,58:dt,60:150,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},{25:164,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},{25:165,35:24,36:25,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,29],{9:[1,166]}),t(ot,[2,56]),{8:S,9:L,10:N,30:[1,167],33:U,34:V,36:97,37:M,45:140,48:100,49:W,50:Z,51:K,52:J,53:Q,55:79,58:c,61:h,63:d,64:p,66:f,67:g,69:y,70:m,71:v},t(D,[2,33],{9:[1,168]}),t(D,[2,35],{9:[1,169]}),t(D,[2,37],{9:[1,170]}),t([8,9,10,33,34,37,49,50,51,52,53,58,61,63,64,66,67,69,70,71],at,{6:vt,11:vt,12:vt,40:vt,41:vt,42:vt,43:vt}),t(st,[2,7]),{12:[2,15]},t([9,58,61,63,64,66,67,69,70,71],[2,54]),t(x,[2,71],{61:bt}),t(At,[2,75],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(Et,[2,77]),t(Et,[2,79]),t(Et,[2,80]),t(Et,[2,81]),t(Et,[2,82]),t(Et,[2,83]),t(Et,[2,84]),t(Et,[2,85]),t(Et,[2,86]),t(Et,[2,87]),t(x,[2,72],{61:bt}),t(x,[2,73],{61:bt}),t(x,[2,68],{61:bt}),t(x,[2,69]),t(x,[2,70]),t(D,[2,30]),{30:[1,173]},t(D,[2,34]),t(D,[2,36]),t(D,[2,38]),{9:ct,37:lt,57:ht,58:dt,60:174,62:151,63:pt,64:ft,65:gt,66:yt,67:mt},t(Et,[2,78]),t(D,[2,31],{9:[1,175]}),t(At,[2,76],{62:172,9:ct,37:lt,57:ht,58:dt,63:pt,64:ft,65:gt,66:yt,67:mt}),t(D,[2,32])],defaultActions:{36:[2,1],73:[2,3],147:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},_t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 49;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 58;case 13:return 66;case 14:return 64;case 15:return 11;case 16:return 61;case 17:return 70;case 18:return 71;case 19:return 67;case 20:return 34;case 21:return 33;case 22:return 42;case 23:return 40;case 24:return 41;case 25:return 43;case 26:return 37;case 27:return 69;case 28:return 59;case 29:return 70;case 30:return 63;case 31:return 44;case 32:return 29;case 33:return 30;case 34:return 26;case 35:return 28;case 36:return 31;case 37:return 32;case 38:return 74;case 39:return 12;case 40:return 9;case 41:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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 e}();return wt.lexer=_t,e.prototype=wt,wt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,_,x,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(x in a[E])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),_=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof _)return _;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t){var r=e("./parser/sequenceDiagram").parser;r.yy=e("./sequenceDb");var n=function(e,t,r,n){var i=e.append("g"),u=i.append("rect").attr("x",t+25).attr("y",r-25).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",150).attr("height",100).attr("rx",0).attr("ry",0),a=i.append("text").attr("x",t+10).attr("y",r-15).style("text-anchor","start");return n.message.split("
").forEach(function(e){a.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),console.log("textElem.height"),console.log(a[0][0].getBBox()),u.attr("height",a[0][0].getBBox().height+20),r+a[0][0].getBBox().height-10},i=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},u=function(e,t,r,n,i){var u=e.append("g"),a=t+(r-t)/2;2!==i.type?(1===i.type?u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",n).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)):u.append("text").attr("x",a).attr("y",n-10).style("text-anchor","middle").text(i.message)};t.exports.draw=function(e,t){r.yy.clear(),r.parse(e);var a,o=50,s=50,c=150,l=65,h=10,d=d3.select("#"+t),p=function(e,t,r,n){var i=e.append("g");i.append("line").attr("x1",t).attr("y1",h).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),i.append("rect").attr("x",o+r*s+150*a).attr("y",h).attr("fill","#eaeaea").attr("stroke","#666").attr("width",c).attr("height",l).attr("rx",3).attr("ry",3),i.append("text").attr("x",o+r*s+a*c+75).attr("y",h+37.5).style("text-anchor","middle").text(n)},f=r.yy.getActors(),g=r.yy.getActorKeys(),y=r.yy.getMessages(),m=0,v=0;for(a=0;a/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":console.log("FC"),d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Jn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Mr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Mn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",M="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[M]=!1,z[O]=z[P]=z[j]=z[U]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return M.lexer=V,e.prototype=M,M.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],M=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],X=[1,108],J=[1,109],Q=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],Et=[1,180],wt=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:Et}),t(wt,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:Et}),t(_,[2,78],{64:Et}),t(_,[2,73],{64:Et}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(wt,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb"),r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},applyMin:function(e,t){var r=e;return this.list.forEach(function(e){e.startx="undefined"==typeof e.startx?r-t:Math.min(r-t,e.startx),r=e.startx}),r},applyMax:function(e,t){var r=e;return this.list.forEach(function(e){e.stopx="undefined"==typeof e.stopx?r+t:Math.max(r+t,e.stopx),r=e.stopx}),r},insert:function(e,t,n,i){var u=function(e,t,n){r.bounds.data[e]="undefined"==typeof r.bounds.data[e]?t:n(t,r.bounds.data[e])};u("startx",e,Math.min),u("starty",t,Math.min),u("stopx",n,Math.max),u("stopy",i,Math.max)},newLoop:function(){this.list.push({startx:void 0,starty:r.bounds.getVerticalPos(),stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();e.stopy=r.bounds.getVerticalPos()},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var i=function(e,t,n,i){var u=e.append("g"),a=u.append("rect").attr("x",t+s.noteMargin).attr("y",n-s.noteMargin).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",s.width).attr("height",100).attr("rx",0).attr("ry",0),o=u.append("text").attr("x",t+10).attr("y",n-15).style("text-anchor","start");return i.message.split("
").forEach(function(e){o.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),r.bounds.insert(t+s.noteMargin,n-s.noteMargin,t+s.noteMargin+s.width,n-s.noteMargin+o[0][0].getBBox().height+20),a.attr("height",o[0][0].getBBox().height+20),r.bounds.verticalPos=n+o[0][0].getBBox().height-10,n+o[0][0].getBBox().height-10},u=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},a=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},o=function(e,t,n,i,u){var a=e.append("g");a.append("line").attr("x1",t).attr("y1",s.diagramMarginY).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",s.diagramMarginX+n*s.messageMargin+150*u).attr("y",s.diagramMarginY).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s.width).attr("height",s.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",s.diagramMarginX+n*s.messageMargin+u*s.width+75).attr("y",s.diagramMarginY+37.5).style("text-anchor","middle").text(i),r.bounds.insert(s.diagramMarginX+n*s.margin+150*u,s.diagramMarginY,s.diagramMarginX+n*s.margin+150*u+s.width,s.diagramMarginY+s.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph" +},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 9407fad71..a1b957d1d 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -452,6 +452,15 @@ describe('when parsing ',function(){ expect(vert['C'].type).toBe('round'); expect(vert['C'].text).toBe('Chimpansen hoppar åäö
- ÅÄÖ'); }); + xit('should handle text in vertices with åäö, minus and space and br',function(){ + var res = flow.parser.parse('graph TD; A[Object(foo,bar)]-->B(Thing);'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe(' A[Object(foo,bar)]-->B(Thing);'); + }); it('should handle text in vertices with unicode chars',function(){ var res = flow.parser.parse('graph TD;A-->C(Начало);'); diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index a2b86061d..d92983549 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -2,28 +2,9 @@ * Created by knut on 14-11-18. */ var sq = require('./parser/sequenceDiagram').parser; +var sd = require('./sequenceRenderer'); -//console.log(sq.parse('a12:d12\na24:d24')); - -str = 'a12:d12\n\na24:d24'; -//console.log(str); -//console.log(sq.parse(str)); -//console.log(sq.parse('[]\n[]')); - -str = 'bfs:queue\n\nbfs3:queue\n'; -str = str + 'bfs:message=someNode.setLevel\n'; -str = str + 'bfs:message2=someNode.setLevel2'; -//console.log(str); -//console.log(sq.parse(str)); - -str = 'bfs:BFS\n'; -str = str + 'someNode:SomeNode\n'; -str = str + 'bfs:queue.new\n'; -str = str + 'bfs:someNode.setLevel'; -//console.log(str); -//console.log(sq.parse(str)); - - +var str; describe('when parsing a sequenceDiagram',function() { var parseError; beforeEach(function () { @@ -96,12 +77,12 @@ describe('when parsing a sequenceDiagram',function() { it('it should handle loop statements a sequenceDiagram', function () { var str = 'sequenceDiagram\n' + - 'Alice->Bob: Hello Bob, how are you?\n\n' + - '%% Comment\n' + - 'Note right of Bob: Bob thinks\n' + - 'loop Multiple happy responses\n\n' + - 'Bob-->Alice: I am good thanks!\n' + - 'end\n'; + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'loop Multiple happy responses\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end'; sq.parse(str); var actors = sq.yy.getActors(); @@ -114,28 +95,167 @@ describe('when parsing a sequenceDiagram',function() { expect(messages[0].from).toBe('Alice'); expect(messages[3].from).toBe('Bob'); - }); - it('it should handle loop statements a sequenceDiagram', function () { + + }); +}); +describe('when rendering a sequenceDiagram',function() { + var parseError, _d3, conf; + beforeEach(function () { + sq.yy = require('./sequenceDb'); + sq.yy.clear(); + parseError = function(err, hash) { + console.log('Syntax error:' + err); + console.log(hash); + }; + sq.yy.parseError = parseError; + + function newD3() { + var o = { + append: function (type) { + return newD3(); + }, + attr: function (key, val) { + return this; + }, + style: function (key, val) { + return this; + }, + text: function (txt) { + return this; + }, + 0:{ + 0: { + getBBox: function () { + return { + height: 10, + width: 20 + }; + } + } + + } + }; + + return o; + } + + var _d3 = { + select:function(){ + return new newD3(); + } + }; + + d3 = _d3; + + conf = { + diagramMarginX:50, + diagramMarginY:10, + margin:50, + width:150, + // Height of actor boxes + height:65, + loopMargin:10, + messageMargin:40, + noteMargin:25 + }; + sd.setConf(conf); + }); + it('it should handle two actors', function () { + sd.bounds.init(); + sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + - 'Alice->Bob: Hello Bob, how are you?\n\n' + - '%% Comment\n' + - 'Note right of Bob: Bob thinks\n' + - 'loop Multiple happy responses\n\n' + - 'Bob-->Alice: I am good thanks!\n' + - 'end'; + 'Alice->Bob: Hello Bob, how are you?\n'; sq.parse(str); - var actors = sq.yy.getActors(); - expect(actors.Alice).ToBdescription = 'Alice'; - actors.Bob.description = 'Bob'; + sd.draw(str,'tst'); - var messages = sq.yy.getMessages(); + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(conf.diagramMarginX); + expect(bounds.starty).toBe(conf.diagramMarginY); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopy ).toBe(conf.diagramMarginY + conf.messageMargin + conf.height); - expect(messages.length).toBe(5); - - expect(messages[0].from).toBe('Alice'); - expect(messages[3].from).toBe('Bob'); }); + it('it should draw two actors and two messages', function () { + sd.bounds.init(); + sd.bounds.newLoop(0); + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n'+ + 'Bob->Alice: Fine!\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(conf.diagramMarginX); + expect(bounds.starty).toBe(conf.diagramMarginY); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopy ).toBe(conf.diagramMarginY + 2*conf.messageMargin + conf.height); + + }); + + + it('it should draw two actors notes to the right', function () { + sd.bounds.init(); + sd.bounds.newLoop(0); + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n'+ + 'Note right of Bob: Bob thinks\n' + + 'Bob->Alice: Fine!\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(conf.diagramMarginX); + expect(bounds.starty).toBe(conf.diagramMarginY); + + var expStopX = conf.diagramMarginX + conf.messageMargin +conf.width+ (conf.width/2) + conf.noteMargin + conf.width; + + expect(bounds.stopx ).toBe(expStopX); + expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + + }); + it('it should draw two actors notes to the left', function () { + sd.bounds.init(); + sd.bounds.newLoop(0); + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n'+ + 'Note left of Alice: Bob thinks\n' + + 'Bob->Alice: Fine!\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(conf.diagramMarginX - conf.width + conf.margin); + expect(bounds.starty).toBe(conf.diagramMarginY); + + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + + }); + + it('it should draw two loops', function () { + sd.bounds.init(); + sd.bounds.newLoop(0); + var str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n'+ + 'loop Cheers\n' + + 'Bob->Alice: Fine!\n' + + 'end'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(conf.diagramMarginX); + expect(bounds.starty).toBe(conf.diagramMarginY); + + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + + }); }); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index bb33a2621..aaa36fe81 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -6,6 +6,85 @@ var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +exports.bounds = { + data:{ + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }, + verticalPos:0, + + list: [], + init : function(){ + this.list = []; + this.data = { + startx:undefined, + stopx :undefined, + starty:undefined, + stopy :undefined, + }; + this.verticalPos =0; + }, + applyMin:function(minVal, margin){ + var minValue = minVal; + this.list.forEach(function(loop){ + if(typeof loop.startx === 'undefined'){ + loop.startx = minValue - margin; + }else{ + loop.startx = Math.min(minValue - margin,loop.startx); + } + minValue = loop.startx; + }); + return minValue; + }, + applyMax:function(maxVal, margin){ + var maxValue = maxVal; + this.list.forEach(function(loop){ + if(typeof loop.stopx === 'undefined'){ + loop.stopx = maxValue + margin; + }else{ + loop.stopx = Math.max(maxValue + margin,loop.stopx); + } + maxValue = loop.stopx; + }); + + return maxValue; + }, + insert:function(startx,starty,stopx,stopy){ + var updateVal = function (key,val,fun){ + if(typeof exports.bounds.data[key] === 'undefined'){ + //console.log('Setting startx',startx); + exports.bounds.data[key] = val; + }else{ + exports.bounds.data[key] = fun(val,exports.bounds.data[key]); + } + }; + updateVal('startx',startx,Math.min); + updateVal('starty',starty,Math.min); + updateVal('stopx' ,stopx ,Math.max); + updateVal('stopy' ,stopy ,Math.max); + + //updateLoops(); + }, + newLoop:function(){ + this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + }, + endLoop:function(){ + var loop = this.list.pop(); + loop.stopy = exports.bounds.getVerticalPos(); + }, + bumpVerticalPos:function(bump){ + this.verticalPos = this.verticalPos + bump; + }, + getVerticalPos:function(){ + return this.verticalPos; + }, + getBounds:function(){ + return this.data; + } +}; + /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor @@ -15,11 +94,11 @@ sq.yy = require('./sequenceDb'); var drawNote = function(elem, startX, verticalPos, msg){ var g = elem.append("g"); var rectElem = g.append("rect") - .attr("x", startX + 25) - .attr("y", verticalPos -25) + .attr("x", startX + conf.noteMargin) + .attr("y", verticalPos - conf.noteMargin) .attr("fill", '#EDF2AE') .attr("stroke", '#666') - .attr("width", 150) + .attr("width", conf.width) .attr("height", 100) .attr("rx", 0) .attr("ry", 0); @@ -34,10 +113,14 @@ var drawNote = function(elem, startX, verticalPos, msg){ .text(rowText); }); - console.log('textElem.height'); - console.log(textElem[0][0].getBBox()); + exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + + //console.log('textElem.height'); + //console.log(textElem[0][0].getBBox()); rectElem.attr('height',textElem[0][0].getBBox().height+20); + exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + return verticalPos + textElem[0][0].getBBox().height - 10; }; @@ -103,15 +186,102 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); + + //console.log('Setting message bounds'); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ - g.append("text") // text label for the x axis + var textElem = g.append("text") .attr("x", txtCenter) - .attr("y", verticalPos - 10) + .attr("y", exports.bounds.getVerticalPos() - 10) .style("text-anchor", "middle") .text(msg.message); + var box = textElem[0][0].getBBox(); + + exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); } }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +var drawActor = function(elem, center, pos, description,i){ + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", conf.diagramMarginY) + .attr("x2", center) + .attr("y2", 2000) + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) + .attr("y", conf.diagramMarginY) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) + .attr("y", conf.diagramMarginY+37.5) + .style("text-anchor", "middle") + .text(description) + ; + + exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); +}; + +module.exports.drawActors = function(diagram, actors, actorKeys){ + var i; + // Draw the actors + for(i=0;i Date: Thu, 18 Dec 2014 23:47:30 +0100 Subject: [PATCH 08/48] Minor changes --- .../sequenceDiagram/sequenceRenderer.js | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index aaa36fe81..0d67b8bf6 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -93,35 +93,36 @@ exports.bounds = { */ var drawNote = function(elem, startX, verticalPos, msg){ var g = elem.append("g"); - var rectElem = g.append("rect") - .attr("x", startX + conf.noteMargin) - .attr("y", verticalPos - conf.noteMargin) - .attr("fill", '#EDF2AE') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", 100) - .attr("rx", 0) - .attr("ry", 0); - var textElem = g.append("text") - .attr("x", startX + 10) - .attr("y", verticalPos - 15) - .style("text-anchor", "start"); + var rectElem = g.append("rect"); + rectElem.attr("x", startX + conf.noteMargin); + rectElem.attr("y", verticalPos - conf.noteMargin); + rectElem.attr("fill", '#EDF2AE'); + rectElem.attr("stroke", '#666'); + rectElem.attr("width", conf.width); + rectElem.attr("height", 100); + rectElem.attr("rx", 0); + rectElem.attr("ry", 0); + + var textElem = g.append("text"); + textElem.attr("x", startX + 10); + textElem.attr("y", verticalPos - 15); + textElem.style("text-anchor", "start"); + msg.message.split('
').forEach(function(rowText){ - textElem.append("tspan") - .attr("x", startX + 35 ) - .attr("dy", '1em') - .text(rowText); + var span = textElem.append("tspan"); + span.attr("x", startX + 35 ); + span.attr("dy", '1em'); + span.text(rowText); }); - exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + var textHeight = textElem[0][0].getBBox().height; + exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textHeight+20); - //console.log('textElem.height'); - //console.log(textElem[0][0].getBBox()); - rectElem.attr('height',textElem[0][0].getBBox().height+20); + rectElem.attr('height',textHeight+20); - exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + exports.bounds.verticalPos = verticalPos + textHeight - 10; - return verticalPos + textElem[0][0].getBBox().height - 10; + return verticalPos + textHeight - 10; }; From 000ffbb6224f14a1a8c0242c0fea73cd7bbc87a6 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 20 Dec 2014 08:40:48 +0100 Subject: [PATCH 09/48] Modifications of sequence diagram rendering + tests --- src/diagrams/flowchart/parser/flow.spec.js | 14 +- .../sequenceDiagram/sequenceDiagram.spec.js | 239 +++++++++++++++++- .../sequenceDiagram/sequenceRenderer.js | 219 +++++++++------- src/diagrams/sequenceDiagram/svgDraw.js | 31 +++ 4 files changed, 392 insertions(+), 111 deletions(-) create mode 100644 src/diagrams/sequenceDiagram/svgDraw.js diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index a1b957d1d..e199b9322 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -10,7 +10,7 @@ describe('when parsing ',function(){ flow.parser.yy = require('../graphDb'); flow.parser.yy.clear(); /*flow.parser.parse.parseError= function parseError(str, hash) { - console.log(str); + console.logconsole.log(str); }*/ }); @@ -308,6 +308,18 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow_cross'); expect(edges[0].text).toBe('text including URL space'); + }); + + it('should handle text on edges with space dir',function(){ + var res = flow.parser.parse('graph TD;A--x|text including R TD space|B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including R TD space'); + }); it('should handle text on edges with graph keyword',function(){ var res = flow.parser.parse('graph TD;A--x|text including graph space|B;'); diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index d92983549..5a72298b0 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -99,6 +99,177 @@ describe('when parsing a sequenceDiagram',function() { }); }); + +describe('when checking the bounds in a sequenceDiagram',function() { + var parseError, _d3, conf; + beforeEach(function () { + sq.yy = require('./sequenceDb'); + sq.yy.clear(); + parseError = function(err, hash) { + console.log('Syntax error:' + err); + console.log(hash); + }; + sq.yy.parseError = parseError; + + + conf = { + diagramMarginX:50, + diagramMarginY:10, + actorMargin:50, + width:150, + // Height of actor boxes + height:65, + boxMargin:10, + messageMargin:40, + noteMargin:25 + }; + sd.setConf(conf); + }); + it('it should handle a simple bound call', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,200,200); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(100); + expect(bounds.starty).toBe(100); + expect(bounds.stopx ).toBe(200); + expect(bounds.stopy ).toBe(200); + + }); + it('it should handle an expanding bound', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,200,200); + sd.bounds.insert(25,50,300,400); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(25); + expect(bounds.starty).toBe(50); + expect(bounds.stopx ).toBe(300); + expect(bounds.stopy ).toBe(400); + + }); + it('it should handle inserts within the bound without changing the outer bounds', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,200,200); + sd.bounds.insert(25,50,300,400); + sd.bounds.insert(125,150,150,200); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(25); + expect(bounds.starty).toBe(50); + expect(bounds.stopx ).toBe(300); + expect(bounds.stopy ).toBe(400); + + }); + + it('it should handle a loop without expanding the area', function () { + sd.bounds.init(); + + sd.bounds.insert(25,50,300,400); + sd.bounds.newLoop(); + sd.bounds.insert(125,150,150,200); + + var loop = sd.bounds.endLoop(); + + expect(loop.startx).toBe(125-conf.boxMargin); + expect(loop.starty).toBe(150-conf.boxMargin); + expect(loop.stopx ).toBe(150+conf.boxMargin); + expect(loop.stopy ).toBe(200+conf.boxMargin); + + // Check bounds of first loop + var bounds = sd.bounds.getBounds(); + + expect(bounds.startx).toBe(25); + expect(bounds.starty).toBe(50); + expect(bounds.stopx ).toBe(300); + expect(bounds.stopy ).toBe(400); + }); + + + it('it should handle multiple loops withtout expanding the bounds', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,1000,1000); + sd.bounds.newLoop(); + sd.bounds.newLoop(); + sd.bounds.insert(200,200,300,300); + + // Check bounds of first loop + var loop = sd.bounds.endLoop(); + + expect(loop.startx).toBe(200-conf.boxMargin); + expect(loop.starty).toBe(200-conf.boxMargin); + expect(loop.stopx ).toBe(300+conf.boxMargin); + expect(loop.stopy ).toBe(300+conf.boxMargin); + + // Check bounds of second loop + loop = sd.bounds.endLoop(); + + expect(loop.startx).toBe(200-2*conf.boxMargin); + expect(loop.starty).toBe(200-2*conf.boxMargin); + expect(loop.stopx ).toBe(300+2*conf.boxMargin); + expect(loop.stopy ).toBe(300+2*conf.boxMargin); + + // Check bounds of first loop + var bounds = sd.bounds.getBounds(); + + expect(bounds.startx).toBe(100); + expect(bounds.starty).toBe(100); + expect(bounds.stopx ).toBe(1000); + expect(bounds.stopy ).toBe(1000); + }); + + it('it should handle a loop that expands the area', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,200,200); + sd.bounds.newLoop(); + sd.bounds.insert(50,50,300,300); + + var loop = sd.bounds.endLoop(); + + expect(loop.startx).toBe(50 - conf.boxMargin); + expect(loop.starty).toBe(50 - conf.boxMargin); + expect(loop.stopx ).toBe(300 + conf.boxMargin); + expect(loop.stopy ).toBe(300 + conf.boxMargin); + + // Check bounds after the loop + var bounds = sd.bounds.getBounds(); + + expect(bounds.startx).toBe(loop.startx); + expect(bounds.starty).toBe(loop.starty); + expect(bounds.stopx ).toBe(loop.stopx); + expect(bounds.stopy ).toBe(loop.stopy); + }); + + xit('it should handle multiple loops that expands the area', function () { + sd.bounds.init(); + + sd.bounds.insert(100,100,200,200); + sd.bounds.newLoop(); + sd.bounds.newLoop(); + sd.bounds.insert(50,50,300,300); + + var loop = sd.bounds.endLoop(); + loop = sd.bounds.endLoop(); + + expect(loop.startx).toBe(50 - 2 * conf.boxMargin); + expect(loop.starty).toBe(50 - 2 * conf.boxMargin); + expect(loop.stopx ).toBe(300 + 2 * conf.boxMargin); + expect(loop.stopy ).toBe(300 + 2 * conf.boxMargin); + + // Check bounds after the loop + var bounds = sd.bounds.getBounds(); + + expect(bounds.startx).toBe(loop.startx); + expect(bounds.starty).toBe(loop.starty); + expect(bounds.stopx ).toBe(loop.stopx); + expect(bounds.stopy ).toBe(loop.stopy); + }); +}); describe('when rendering a sequenceDiagram',function() { var parseError, _d3, conf; beforeEach(function () { @@ -151,19 +322,65 @@ describe('when rendering a sequenceDiagram',function() { conf = { diagramMarginX:50, diagramMarginY:10, - margin:50, + actorMargin:50, width:150, // Height of actor boxes height:65, - loopMargin:10, + boxMargin:10, messageMargin:40, noteMargin:25 }; sd.setConf(conf); }); + it('it should handle one actor', function () { + sd.bounds.init(); + var str = 'sequenceDiagram\n' + + 'participant Alice\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); + expect(bounds.stopx ).toBe( conf.width); + expect(bounds.stopy ).toBe(conf.height); + + }); + it('it should handle one actor and a note', function () { + sd.bounds.init(); + var str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'Note left of Alice: Alice thinks\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(-(conf.width/2)-(conf.actorMargin/2)); + expect(bounds.starty).toBe(0); + expect(bounds.stopx ).toBe( conf.width ); + // 10 comes from mock of text height + expect(bounds.stopy ).toBe( conf.height + conf.boxMargin + 2*conf.noteMargin +10); + }); + iit('it should handle one actor and a note to the right', function () { + sd.bounds.init(); + var str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'Note right of Alice: Alice thinks\n'; + + sq.parse(str); + sd.draw(str,'tst'); + + var bounds = sd.bounds.getBounds(); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); + expect(bounds.stopx ).toBe( (conf.width/2) + (conf.actorMargin/2) + conf.width); + // 10 comes from mock of text height + expect(bounds.stopy ).toBe( conf.height + conf.boxMargin + 2*conf.noteMargin +10); + }); it('it should handle two actors', function () { sd.bounds.init(); - sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'; @@ -173,14 +390,13 @@ describe('when rendering a sequenceDiagram',function() { var bounds = sd.bounds.getBounds(); expect(bounds.startx).toBe(conf.diagramMarginX); expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); expect(bounds.stopy ).toBe(conf.diagramMarginY + conf.messageMargin + conf.height); }); it('it should draw two actors and two messages', function () { sd.bounds.init(); - sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'Bob->Alice: Fine!\n'; @@ -191,7 +407,7 @@ describe('when rendering a sequenceDiagram',function() { var bounds = sd.bounds.getBounds(); expect(bounds.startx).toBe(conf.diagramMarginX); expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); expect(bounds.stopy ).toBe(conf.diagramMarginY + 2*conf.messageMargin + conf.height); }); @@ -199,7 +415,6 @@ describe('when rendering a sequenceDiagram',function() { it('it should draw two actors notes to the right', function () { sd.bounds.init(); - sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'Note right of Bob: Bob thinks\n' + @@ -220,7 +435,6 @@ describe('when rendering a sequenceDiagram',function() { }); it('it should draw two actors notes to the left', function () { sd.bounds.init(); - sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'Note left of Alice: Bob thinks\n' + @@ -230,17 +444,16 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX - conf.width + conf.margin); + expect(bounds.startx).toBe(conf.diagramMarginX - conf.width + conf.actorMargin); expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); }); it('it should draw two loops', function () { sd.bounds.init(); - sd.bounds.newLoop(0); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'loop Cheers\n' + @@ -254,8 +467,8 @@ describe('when rendering a sequenceDiagram',function() { expect(bounds.startx).toBe(conf.diagramMarginX); expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.margin); - expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); + expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height + conf.boxMargin); }); }); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 0d67b8bf6..11a954e85 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -5,6 +5,24 @@ var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +var svgDraw = require('./svgDraw'); +var conf = { + + diagramMarginX:50, + diagramMarginY:10, + // Margin between actors + actorMargin:50, + // Width of actor moxes + width:150, + // Height of actor boxes + height:65, + // Margin around loop boxes + boxMargin:10, + + noteMargin:10, + // Space between messages + messageMargin:40 +}; exports.bounds = { data:{ @@ -26,56 +44,53 @@ exports.bounds = { }; this.verticalPos =0; }, - applyMin:function(minVal, margin){ - var minValue = minVal; - this.list.forEach(function(loop){ - if(typeof loop.startx === 'undefined'){ - loop.startx = minValue - margin; - }else{ - loop.startx = Math.min(minValue - margin,loop.startx); - } - minValue = loop.startx; - }); - return minValue; + updateVal : function (obj,key,val,fun){ + if(typeof obj[key] === 'undefined'){ + //console.log('Setting startx',startx); + obj[key] = val; + }else{ + obj[key] = fun(val,obj[key]); + } }, - applyMax:function(maxVal, margin){ - var maxValue = maxVal; + updateLoops:function(startx,starty,stopx,stopy){ + var _self = this; + var cnt = 0; this.list.forEach(function(loop){ - if(typeof loop.stopx === 'undefined'){ - loop.stopx = maxValue + margin; - }else{ - loop.stopx = Math.max(maxValue + margin,loop.stopx); - } - maxValue = loop.stopx; - }); + cnt++; + // The loop list is a stack so the biggest margins in the beginning of the list + var n = _self.list.length-cnt+1; - return maxValue; + _self.updateVal(loop, 'startx',startx - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'starty',starty - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'stopx' ,stopx + n*conf.boxMargin, Math.max); + _self.updateVal(loop, 'stopy' ,stopy + n*conf.boxMargin, Math.max); + + _self.updateVal(exports.bounds.data,'startx',startx - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'starty',starty - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'stopx' ,stopx + n*conf.boxMargin ,Math.max); + _self.updateVal(exports.bounds.data,'stopy' ,stopy + n*conf.boxMargin ,Math.max); + }); }, insert:function(startx,starty,stopx,stopy){ - var updateVal = function (key,val,fun){ - if(typeof exports.bounds.data[key] === 'undefined'){ - //console.log('Setting startx',startx); - exports.bounds.data[key] = val; - }else{ - exports.bounds.data[key] = fun(val,exports.bounds.data[key]); - } - }; - updateVal('startx',startx,Math.min); - updateVal('starty',starty,Math.min); - updateVal('stopx' ,stopx ,Math.max); - updateVal('stopy' ,stopy ,Math.max); - //updateLoops(); + this.updateVal(exports.bounds.data,'startx',startx,Math.min); + this.updateVal(exports.bounds.data,'starty',starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + + this.updateLoops(startx,starty,stopx,stopy); }, newLoop:function(){ - this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); }, endLoop:function(){ var loop = this.list.pop(); - loop.stopy = exports.bounds.getVerticalPos(); + //loop.stopy = exports.bounds.getVerticalPos(); + return loop; }, bumpVerticalPos:function(bump){ this.verticalPos = this.verticalPos + bump; + this.data.stopy = this.verticalPos; }, getVerticalPos:function(){ return this.verticalPos; @@ -91,11 +106,20 @@ exports.bounds = { * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawNote = function(elem, startX, verticalPos, msg){ +var drawNote = function(elem, startx, verticalPos, msg){ + var rect = svgDraw.getNoteRect(); + rect.x = startx; + rect.y = verticalPos; + rect.width = conf.width; + + //svgDraw.drawRect(elem, rect); + var g = elem.append("g"); + //svgDraw.drawRect(g, rect); + var rectElem = g.append("rect"); - rectElem.attr("x", startX + conf.noteMargin); - rectElem.attr("y", verticalPos - conf.noteMargin); + rectElem.attr("x", startx); + rectElem.attr("y", verticalPos); rectElem.attr("fill", '#EDF2AE'); rectElem.attr("stroke", '#666'); rectElem.attr("width", conf.width); @@ -104,27 +128,45 @@ var drawNote = function(elem, startX, verticalPos, msg){ rectElem.attr("ry", 0); var textElem = g.append("text"); - textElem.attr("x", startX + 10); - textElem.attr("y", verticalPos - 15); + textElem.attr("x", startx); + textElem.attr("y", verticalPos+conf.noteMargin); textElem.style("text-anchor", "start"); msg.message.split('
').forEach(function(rowText){ var span = textElem.append("tspan"); - span.attr("x", startX + 35 ); + span.attr("x", startx +conf.noteMargin); span.attr("dy", '1em'); span.text(rowText); }); var textHeight = textElem[0][0].getBBox().height; - exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textHeight+20); + exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); - rectElem.attr('height',textHeight+20); - - exports.bounds.verticalPos = verticalPos + textHeight - 10; - - return verticalPos + textHeight - 10; + rectElem.attr('height',textHeight+ 2*conf.noteMargin); }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#339999"); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); +}; /** * Setup arrow head and define the marker. The result is appended to the svg. @@ -209,19 +251,20 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawActor = function(elem, center, pos, description,i){ +var drawActor = function(elem, left,description){ + var center = left + (conf.width/2); var g = elem.append("g"); g.append("line") .attr("x1", center) - .attr("y1", conf.diagramMarginY) + .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) .attr("stroke-width", '0.5px') .attr("stroke", '#999'); g.append("rect") - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) - .attr("y", conf.diagramMarginY) + .attr("x", left) + .attr("y", 0) .attr("fill", '#eaeaea') .attr("stroke", '#666') .attr("width", conf.width) @@ -229,13 +272,13 @@ var drawActor = function(elem, center, pos, description,i){ .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) - .attr("y", conf.diagramMarginY+37.5) + .attr("x", center) + .attr("y", (conf.height/2)+5) .style("text-anchor", "middle") .text(description) ; - exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); + exports.bounds.insert(left, 0, left + conf.width, conf.height); }; module.exports.drawActors = function(diagram, actors, actorKeys){ @@ -245,41 +288,21 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ var key = actorKeys[i]; // Add some rendering data to the object - actors[key].x = conf.diagramMarginX + i*conf.messageMargin +i*conf.width; - actors[key].y = conf.diagramMarginY; + actors[key].x = i*conf.messageMargin +i*conf.width; + actors[key].y = 0; actors[key].width = conf.diagramMarginY; actors[key].height = conf.diagramMarginY; - var center = actors[key].x + (conf.width/2); - - // Keep track of width for with setting on the svg - //maxX = Math.max(maxX,actors[key].x); - // Draw the box with the attached line - drawActor(diagram, center,i, actors[key].description, i); + drawActor(diagram, actors[key].x, actors[key].description); } // Add a margin between the actor boxes and the first arrow - exports.bounds.bumpVerticalPos(conf.diagramMarginY + conf.height); + //exports.bounds.bumpVerticalPos(conf.height+conf.messageMargin); + exports.bounds.bumpVerticalPos(conf.height); }; -var conf = { - diagramMarginX:50, - diagramMarginY:10, - // Margin between actors - margin:50, - // Width of actor moxes - width:150, - // Height of actor boxes - height:65, - // Margin around loop boxes - loopMargin:10, - - noteMargin:25, - // Space between messages - messageMargin:40 -}; module.exports.setConf = function(cnf){ conf = cnf; }; @@ -291,7 +314,7 @@ module.exports.setConf = function(cnf){ module.exports.draw = function (text, id) { sq.yy.clear(); sq.parse(text); - + exports.bounds.init(); var diagram = d3.select('#'+id); // Fetch data from the parsing @@ -299,8 +322,6 @@ module.exports.draw = function (text, id) { var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0, minX=0; - module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once @@ -309,21 +330,23 @@ module.exports.draw = function (text, id) { // Draw the messages/signals messages.forEach(function(msg){ - exports.bounds.bumpVerticalPos(conf.messageMargin); + var startx; var stopx; switch(msg.type){ case sq.yy.LINETYPE.NOTE: - startx = actors[msg.from].x + conf.width/2; - stopx = actors[msg.to].x + conf.width/2; + exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; + stopx = actors[msg.to].x; if(msg.placement !== 0){ // Right of - drawNote(diagram, startx, exports.bounds.getVerticalPos(), msg); + console.log(exports.bounds.getVerticalPos()); + drawNote(diagram, startx + (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); }else{ // Left of - drawNote(diagram, startx - conf.width - conf.margin, exports.bounds.getVerticalPos(), msg); + drawNote(diagram, startx - (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); } break; case sq.yy.LINETYPE.LOOP_START: @@ -331,25 +354,27 @@ module.exports.draw = function (text, id) { exports.bounds.newLoop(); break; case sq.yy.LINETYPE.LOOP_END: - exports.bounds.endLoop(); + var loopData = exports.bounds.endLoop(); //var loopData = loopList.pop(); //loopData.stopy = exports.bounds.getVerticalPos(); - //drawLoop(loopData,10); + exports.drawLoop(diagram, loopData); break; default: + exports.bounds.bumpVerticalPos(conf.messageMargin); startx = actors[msg.from].x + conf.width/2; stopx = actors[msg.to].x + conf.width/2; drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); - // Keep track of width for with setting on the svg - maxX = Math.max(maxX,startx + 176); - exports.bounds.applyMax(maxX,conf.loopMargin); } }); - // TODO fetch from bounds - diagram.attr("height", exports.bounds.getVerticalPos() + 40); - diagram.attr("width", maxX ); - diagram.attr("viewBox", minX + ' 0 '+maxX+ ' ' +(exports.bounds.getVerticalPos() + 40)); + var box = exports.bounds.getBounds(); + + var height = box.stopy-box.starty+2*conf.diagramMarginY; + var width = box.stopx-box.startx+2*conf.diagramMarginX; + + diagram.attr("height",height); + diagram.attr("width", width ); + diagram.attr("viewBox", (box.startx-conf.diagramMarginX) + ' -' +conf.diagramMarginY + ' ' + width + ' ' + height); }; diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js new file mode 100644 index 000000000..f8ef05120 --- /dev/null +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -0,0 +1,31 @@ +/** + * Created by knut on 14-12-20. + */ +exports.drawRect = function(elem , rectData){ + var g = elem.append("g"); + var rectElem = g.append("rect"); + rectElem.attr("x", rectData.x); + rectElem.attr("y", rectData.x); + rectElem.attr("fill", rectData.fill); + rectElem.attr("stroke", rectData.stroke); + rectElem.attr("width", rectData.width); + rectElem.attr("height", rectData.height); + rectElem.attr("rx", rectData.rx); + rectElem.attr("ry", rectData.ry); + + return rectElem; +}; + +exports.getNoteRect = function(){ + var rect = { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; From 69c84df367910beded1deddc92dcbf74e353d049 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 20 Dec 2014 09:18:12 +0100 Subject: [PATCH 10/48] Box rendering --- .../sequenceDiagram/sequenceDiagram.spec.js | 42 +++++++++---------- .../sequenceDiagram/sequenceRenderer.js | 35 ++++------------ src/diagrams/sequenceDiagram/svgDraw.js | 35 ++++++++++++++-- 3 files changed, 62 insertions(+), 50 deletions(-) diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index 5a72298b0..8a5bca8b4 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -363,7 +363,7 @@ describe('when rendering a sequenceDiagram',function() { // 10 comes from mock of text height expect(bounds.stopy ).toBe( conf.height + conf.boxMargin + 2*conf.noteMargin +10); }); - iit('it should handle one actor and a note to the right', function () { + it('it should handle one actor and a note to the right', function () { sd.bounds.init(); var str = 'sequenceDiagram\n' + 'participant Alice\n' + @@ -388,10 +388,10 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX); - expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe(conf.diagramMarginY + conf.messageMargin + conf.height); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); + expect(bounds.stopx ).toBe(conf.width*2 + conf.actorMargin); + expect(bounds.stopy ).toBe(0 + conf.messageMargin + conf.height); }); @@ -405,10 +405,10 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX); - expect(bounds.starty).toBe(conf.diagramMarginY); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe(conf.diagramMarginY + 2*conf.messageMargin + conf.height); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); + expect(bounds.stopx ).toBe(0 + conf.width*2 + conf.actorMargin); + expect(bounds.stopy ).toBe(0 + 2*conf.messageMargin + conf.height); }); @@ -424,13 +424,13 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX); - expect(bounds.starty).toBe(conf.diagramMarginY); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); - var expStopX = conf.diagramMarginX + conf.messageMargin +conf.width+ (conf.width/2) + conf.noteMargin + conf.width; + var expStopX = conf.actorMargin +conf.width+ (conf.width/2) + conf.noteMargin + conf.width; expect(bounds.stopx ).toBe(expStopX); - expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + expect(bounds.stopy ).toBe(2*conf.messageMargin + conf.height + conf.boxMargin); }); it('it should draw two actors notes to the left', function () { @@ -444,11 +444,11 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX - conf.width + conf.actorMargin); - expect(bounds.starty).toBe(conf.diagramMarginY); + expect(bounds.startx).toBe( -(conf.width/2)-(conf.actorMargin/2)); + expect(bounds.starty).toBe(0); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height); + expect(bounds.stopx ).toBe( conf.width*2 + conf.actorMargin); + expect(bounds.stopy ).toBe( 2*conf.messageMargin + conf.height + conf.boxMargin); }); @@ -464,11 +464,11 @@ describe('when rendering a sequenceDiagram',function() { sd.draw(str,'tst'); var bounds = sd.bounds.getBounds(); - expect(bounds.startx).toBe(conf.diagramMarginX); - expect(bounds.starty).toBe(conf.diagramMarginY); + expect(bounds.startx).toBe(0); + expect(bounds.starty).toBe(0); - expect(bounds.stopx ).toBe(conf.diagramMarginX + conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe(conf.diagramMarginY + 3*conf.messageMargin + conf.height + conf.boxMargin); + expect(bounds.stopx ).toBe(0 + conf.width*2 + conf.actorMargin); + expect(bounds.stopy ).toBe(0 + 2*conf.messageMargin + conf.height + conf.boxMargin); }); }); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 11a954e85..f5ae09eb4 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -46,7 +46,6 @@ exports.bounds = { }, updateVal : function (obj,key,val,fun){ if(typeof obj[key] === 'undefined'){ - //console.log('Setting startx',startx); obj[key] = val; }else{ obj[key] = fun(val,obj[key]); @@ -112,32 +111,17 @@ var drawNote = function(elem, startx, verticalPos, msg){ rect.y = verticalPos; rect.width = conf.width; - //svgDraw.drawRect(elem, rect); - var g = elem.append("g"); - //svgDraw.drawRect(g, rect); + var rectElem = svgDraw.drawRect(g, rect); - var rectElem = g.append("rect"); - rectElem.attr("x", startx); - rectElem.attr("y", verticalPos); - rectElem.attr("fill", '#EDF2AE'); - rectElem.attr("stroke", '#666'); - rectElem.attr("width", conf.width); - rectElem.attr("height", 100); - rectElem.attr("rx", 0); - rectElem.attr("ry", 0); + var textObj = svgDraw.getTextObj(); + textObj.x = startx; + textObj.y = verticalPos+conf.noteMargin; + textObj.textMargin = conf.noteMargin; + textObj.dy = '1em'; + textObj.text = msg.message; - var textElem = g.append("text"); - textElem.attr("x", startx); - textElem.attr("y", verticalPos+conf.noteMargin); - textElem.style("text-anchor", "start"); - - msg.message.split('
').forEach(function(rowText){ - var span = textElem.append("tspan"); - span.attr("x", startx +conf.noteMargin); - span.attr("dy", '1em'); - span.text(rowText); - }); + var textElem = svgDraw.drawText(g,textObj); var textHeight = textElem[0][0].getBBox().height; exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); @@ -288,7 +272,7 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ var key = actorKeys[i]; // Add some rendering data to the object - actors[key].x = i*conf.messageMargin +i*conf.width; + actors[key].x = i*conf.actorMargin +i*conf.width; actors[key].y = 0; actors[key].width = conf.diagramMarginY; actors[key].height = conf.diagramMarginY; @@ -341,7 +325,6 @@ module.exports.draw = function (text, id) { if(msg.placement !== 0){ // Right of - console.log(exports.bounds.getVerticalPos()); drawNote(diagram, startx + (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); }else{ diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index f8ef05120..a237edc3f 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -2,10 +2,9 @@ * Created by knut on 14-12-20. */ exports.drawRect = function(elem , rectData){ - var g = elem.append("g"); - var rectElem = g.append("rect"); + var rectElem = elem.append("rect"); rectElem.attr("x", rectData.x); - rectElem.attr("y", rectData.x); + rectElem.attr("y", rectData.y); rectElem.attr("fill", rectData.fill); rectElem.attr("stroke", rectData.stroke); rectElem.attr("width", rectData.width); @@ -16,6 +15,36 @@ exports.drawRect = function(elem , rectData){ return rectElem; }; +exports.drawText = function(elem , textData){ + var textElem = elem.append('text'); + textElem.attr('x', textData.x); + textElem.attr('y', textData.y); + textElem.style('text-anchor', 'start'); + + textData.text.split('
').forEach(function(rowText){ + var span = textElem.append('tspan'); + span.attr('x', textData.x +textData.textMargin); + span.attr('dy', textData.dy); + span.text(rowText); + }); + + return textElem; +}; + +exports.getTextObj = function(){ + var rect = { + x: 0, + y: 0, + 'text-anchor': 'start', + style: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; + exports.getNoteRect = function(){ var rect = { x: 0, From 7bb75c16dad3d8a90892cb2716cee8bb7e948b13 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 20 Dec 2014 09:19:56 +0100 Subject: [PATCH 11/48] Work with loop rendering for sequence diagrams --- dist/mermaid.full.js | 300 +++++++++++------- dist/mermaid.full.min.js | 12 +- dist/mermaid.slim.js | 300 +++++++++++------- dist/mermaid.slim.min.js | 12 +- .../sequenceDiagram/sequenceDiagram.spec.js | 1 - .../sequenceDiagram/sequenceRenderer.js | 2 - 6 files changed, 382 insertions(+), 245 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index ee5f37622..16772776c 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -15894,6 +15894,24 @@ exports.parseError = function(err, hash) { var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +var svgDraw = require('./svgDraw'); +var conf = { + + diagramMarginX:50, + diagramMarginY:10, + // Margin between actors + actorMargin:50, + // Width of actor moxes + width:150, + // Height of actor boxes + height:65, + // Margin around loop boxes + boxMargin:10, + + noteMargin:10, + // Space between messages + messageMargin:40 +}; exports.bounds = { data:{ @@ -15915,56 +15933,52 @@ exports.bounds = { }; this.verticalPos =0; }, - applyMin:function(minVal, margin){ - var minValue = minVal; - this.list.forEach(function(loop){ - if(typeof loop.startx === 'undefined'){ - loop.startx = minValue - margin; - }else{ - loop.startx = Math.min(minValue - margin,loop.startx); - } - minValue = loop.startx; - }); - return minValue; + updateVal : function (obj,key,val,fun){ + if(typeof obj[key] === 'undefined'){ + obj[key] = val; + }else{ + obj[key] = fun(val,obj[key]); + } }, - applyMax:function(maxVal, margin){ - var maxValue = maxVal; + updateLoops:function(startx,starty,stopx,stopy){ + var _self = this; + var cnt = 0; this.list.forEach(function(loop){ - if(typeof loop.stopx === 'undefined'){ - loop.stopx = maxValue + margin; - }else{ - loop.stopx = Math.max(maxValue + margin,loop.stopx); - } - maxValue = loop.stopx; - }); + cnt++; + // The loop list is a stack so the biggest margins in the beginning of the list + var n = _self.list.length-cnt+1; - return maxValue; + _self.updateVal(loop, 'startx',startx - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'starty',starty - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'stopx' ,stopx + n*conf.boxMargin, Math.max); + _self.updateVal(loop, 'stopy' ,stopy + n*conf.boxMargin, Math.max); + + _self.updateVal(exports.bounds.data,'startx',startx - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'starty',starty - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'stopx' ,stopx + n*conf.boxMargin ,Math.max); + _self.updateVal(exports.bounds.data,'stopy' ,stopy + n*conf.boxMargin ,Math.max); + }); }, insert:function(startx,starty,stopx,stopy){ - var updateVal = function (key,val,fun){ - if(typeof exports.bounds.data[key] === 'undefined'){ - //console.log('Setting startx',startx); - exports.bounds.data[key] = val; - }else{ - exports.bounds.data[key] = fun(val,exports.bounds.data[key]); - } - }; - updateVal('startx',startx,Math.min); - updateVal('starty',starty,Math.min); - updateVal('stopx' ,stopx ,Math.max); - updateVal('stopy' ,stopy ,Math.max); - //updateLoops(); + this.updateVal(exports.bounds.data,'startx',startx,Math.min); + this.updateVal(exports.bounds.data,'starty',starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + + this.updateLoops(startx,starty,stopx,stopy); }, newLoop:function(){ - this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); }, endLoop:function(){ var loop = this.list.pop(); - loop.stopy = exports.bounds.getVerticalPos(); + //loop.stopy = exports.bounds.getVerticalPos(); + return loop; }, bumpVerticalPos:function(bump){ this.verticalPos = this.verticalPos + bump; + this.data.stopy = this.verticalPos; }, getVerticalPos:function(){ return this.verticalPos; @@ -15980,39 +15994,52 @@ exports.bounds = { * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawNote = function(elem, startX, verticalPos, msg){ +var drawNote = function(elem, startx, verticalPos, msg){ + var rect = svgDraw.getNoteRect(); + rect.x = startx; + rect.y = verticalPos; + rect.width = conf.width; + var g = elem.append("g"); - var rectElem = g.append("rect") - .attr("x", startX + conf.noteMargin) - .attr("y", verticalPos - conf.noteMargin) - .attr("fill", '#EDF2AE') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", 100) - .attr("rx", 0) - .attr("ry", 0); - var textElem = g.append("text") - .attr("x", startX + 10) - .attr("y", verticalPos - 15) - .style("text-anchor", "start"); - msg.message.split('
').forEach(function(rowText){ - textElem.append("tspan") - .attr("x", startX + 35 ) - .attr("dy", '1em') - .text(rowText); - }); + var rectElem = svgDraw.drawRect(g, rect); - exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + var textObj = svgDraw.getTextObj(); + textObj.x = startx; + textObj.y = verticalPos+conf.noteMargin; + textObj.textMargin = conf.noteMargin; + textObj.dy = '1em'; + textObj.text = msg.message; - //console.log('textElem.height'); - //console.log(textElem[0][0].getBBox()); - rectElem.attr('height',textElem[0][0].getBBox().height+20); + var textElem = svgDraw.drawText(g,textObj); - exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + var textHeight = textElem[0][0].getBBox().height; + exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); - return verticalPos + textElem[0][0].getBBox().height - 10; + rectElem.attr('height',textHeight+ 2*conf.noteMargin); }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#339999"); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); +}; /** * Setup arrow head and define the marker. The result is appended to the svg. @@ -16067,7 +16094,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("stroke", "black") .attr("class", "link") .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); } g.append("text") // text label for the x axis @@ -16097,19 +16123,20 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawActor = function(elem, center, pos, description,i){ +var drawActor = function(elem, left,description){ + var center = left + (conf.width/2); var g = elem.append("g"); g.append("line") .attr("x1", center) - .attr("y1", conf.diagramMarginY) + .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) .attr("stroke-width", '0.5px') .attr("stroke", '#999'); g.append("rect") - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) - .attr("y", conf.diagramMarginY) + .attr("x", left) + .attr("y", 0) .attr("fill", '#eaeaea') .attr("stroke", '#666') .attr("width", conf.width) @@ -16117,13 +16144,13 @@ var drawActor = function(elem, center, pos, description,i){ .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) - .attr("y", conf.diagramMarginY+37.5) + .attr("x", center) + .attr("y", (conf.height/2)+5) .style("text-anchor", "middle") .text(description) ; - exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); + exports.bounds.insert(left, 0, left + conf.width, conf.height); }; module.exports.drawActors = function(diagram, actors, actorKeys){ @@ -16133,41 +16160,21 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ var key = actorKeys[i]; // Add some rendering data to the object - actors[key].x = conf.diagramMarginX + i*conf.messageMargin +i*conf.width; - actors[key].y = conf.diagramMarginY; + actors[key].x = i*conf.actorMargin +i*conf.width; + actors[key].y = 0; actors[key].width = conf.diagramMarginY; actors[key].height = conf.diagramMarginY; - var center = actors[key].x + (conf.width/2); - - // Keep track of width for with setting on the svg - //maxX = Math.max(maxX,actors[key].x); - // Draw the box with the attached line - drawActor(diagram, center,i, actors[key].description, i); + drawActor(diagram, actors[key].x, actors[key].description); } // Add a margin between the actor boxes and the first arrow - exports.bounds.bumpVerticalPos(conf.diagramMarginY + conf.height); + //exports.bounds.bumpVerticalPos(conf.height+conf.messageMargin); + exports.bounds.bumpVerticalPos(conf.height); }; -var conf = { - diagramMarginX:50, - diagramMarginY:10, - // Margin between actors - margin:50, - // Width of actor moxes - width:150, - // Height of actor boxes - height:65, - // Margin around loop boxes - loopMargin:10, - - noteMargin:25, - // Space between messages - messageMargin:40 -}; module.exports.setConf = function(cnf){ conf = cnf; }; @@ -16179,7 +16186,7 @@ module.exports.setConf = function(cnf){ module.exports.draw = function (text, id) { sq.yy.clear(); sq.parse(text); - + exports.bounds.init(); var diagram = d3.select('#'+id); // Fetch data from the parsing @@ -16187,8 +16194,6 @@ module.exports.draw = function (text, id) { var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0, minX=0; - module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once @@ -16197,21 +16202,22 @@ module.exports.draw = function (text, id) { // Draw the messages/signals messages.forEach(function(msg){ - exports.bounds.bumpVerticalPos(conf.messageMargin); + var startx; var stopx; switch(msg.type){ case sq.yy.LINETYPE.NOTE: - startx = actors[msg.from].x + conf.width/2; - stopx = actors[msg.to].x + conf.width/2; + exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; + stopx = actors[msg.to].x; if(msg.placement !== 0){ // Right of - drawNote(diagram, startx, exports.bounds.getVerticalPos(), msg); + drawNote(diagram, startx + (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); }else{ // Left of - drawNote(diagram, startx - conf.width - conf.margin, exports.bounds.getVerticalPos(), msg); + drawNote(diagram, startx - (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); } break; case sq.yy.LINETYPE.LOOP_START: @@ -16219,30 +16225,94 @@ module.exports.draw = function (text, id) { exports.bounds.newLoop(); break; case sq.yy.LINETYPE.LOOP_END: - exports.bounds.endLoop(); + var loopData = exports.bounds.endLoop(); //var loopData = loopList.pop(); //loopData.stopy = exports.bounds.getVerticalPos(); - //drawLoop(loopData,10); + exports.drawLoop(diagram, loopData); break; default: + exports.bounds.bumpVerticalPos(conf.messageMargin); startx = actors[msg.from].x + conf.width/2; stopx = actors[msg.to].x + conf.width/2; drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); - // Keep track of width for with setting on the svg - maxX = Math.max(maxX,startx + 176); - exports.bounds.applyMax(maxX,conf.loopMargin); } }); - // TODO fetch from bounds - diagram.attr("height", exports.bounds.getVerticalPos() + 40); - diagram.attr("width", maxX ); - diagram.attr("viewBox", minX + ' 0 '+maxX+ ' ' +(exports.bounds.getVerticalPos() + 40)); + var box = exports.bounds.getBounds(); + + var height = box.stopy-box.starty+2*conf.diagramMarginY; + var width = box.stopx-box.startx+2*conf.diagramMarginX; + + diagram.attr("height",height); + diagram.attr("width", width ); + diagram.attr("viewBox", (box.startx-conf.diagramMarginX) + ' -' +conf.diagramMarginY + ' ' + width + ' ' + height); }; -},{"./parser/sequenceDiagram":107,"./sequenceDb":108}],110:[function(require,module,exports){ +},{"./parser/sequenceDiagram":107,"./sequenceDb":108,"./svgDraw":110}],110:[function(require,module,exports){ +/** + * Created by knut on 14-12-20. + */ +exports.drawRect = function(elem , rectData){ + var rectElem = elem.append("rect"); + rectElem.attr("x", rectData.x); + rectElem.attr("y", rectData.y); + rectElem.attr("fill", rectData.fill); + rectElem.attr("stroke", rectData.stroke); + rectElem.attr("width", rectData.width); + rectElem.attr("height", rectData.height); + rectElem.attr("rx", rectData.rx); + rectElem.attr("ry", rectData.ry); + + return rectElem; +}; + +exports.drawText = function(elem , textData){ + var textElem = elem.append('text'); + textElem.attr('x', textData.x); + textElem.attr('y', textData.y); + textElem.style('text-anchor', 'start'); + + textData.text.split('
').forEach(function(rowText){ + var span = textElem.append('tspan'); + span.attr('x', textData.x +textData.textMargin); + span.attr('dy', textData.dy); + span.text(rowText); + }); + + return textElem; +}; + +exports.getTextObj = function(){ + var rect = { + x: 0, + y: 0, + 'text-anchor': 'start', + style: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; + +exports.getNoteRect = function(){ + var rect = { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; + +},{}],111:[function(require,module,exports){ (function (global){ var graph = require('./diagrams/flowchart/graphDb'); var flow = require('./diagrams/flowchart/parser/flow'); @@ -16368,7 +16438,7 @@ global.mermaid = { } }; }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,"he":100}],111:[function(require,module,exports){ +},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,"he":100}],112:[function(require,module,exports){ /** * Created by knut on 14-11-23. */ @@ -16454,4 +16524,4 @@ module.exports.cloneCssStyles = function(svg, classes){ } }; -},{}]},{},[110]) \ No newline at end of file +},{}]},{},[111]) \ No newline at end of file diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 6e22edc90..0fbb6416a 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,M)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Jn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Mr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Mn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",M="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[M]=!1,z[O]=z[P]=z[j]=z[U]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return M.lexer=V,e.prototype=M,M.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],M=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],X=[1,108],J=[1,109],Q=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],Et=[1,180],wt=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:Et}),t(wt,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:Et}),t(_,[2,78],{64:Et}),t(_,[2,73],{64:Et}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(wt,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb"),r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},applyMin:function(e,t){var r=e;return this.list.forEach(function(e){e.startx="undefined"==typeof e.startx?r-t:Math.min(r-t,e.startx),r=e.startx}),r},applyMax:function(e,t){var r=e;return this.list.forEach(function(e){e.stopx="undefined"==typeof e.stopx?r+t:Math.max(r+t,e.stopx),r=e.stopx}),r},insert:function(e,t,n,i){var u=function(e,t,n){r.bounds.data[e]="undefined"==typeof r.bounds.data[e]?t:n(t,r.bounds.data[e])};u("startx",e,Math.min),u("starty",t,Math.min),u("stopx",n,Math.max),u("stopy",i,Math.max)},newLoop:function(){this.list.push({startx:void 0,starty:r.bounds.getVerticalPos(),stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();e.stopy=r.bounds.getVerticalPos()},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var i=function(e,t,n,i){var u=e.append("g"),a=u.append("rect").attr("x",t+s.noteMargin).attr("y",n-s.noteMargin).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",s.width).attr("height",100).attr("rx",0).attr("ry",0),o=u.append("text").attr("x",t+10).attr("y",n-15).style("text-anchor","start");return i.message.split("
").forEach(function(e){o.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),r.bounds.insert(t+s.noteMargin,n-s.noteMargin,t+s.noteMargin+s.width,n-s.noteMargin+o[0][0].getBBox().height+20),a.attr("height",o[0][0].getBBox().height+20),r.bounds.verticalPos=n+o[0][0].getBBox().height-10,n+o[0][0].getBBox().height-10},u=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},a=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},o=function(e,t,n,i,u){var a=e.append("g");a.append("line").attr("x1",t).attr("y1",s.diagramMarginY).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",s.diagramMarginX+n*s.messageMargin+150*u).attr("y",s.diagramMarginY).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s.width).attr("height",s.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",s.diagramMarginX+n*s.messageMargin+u*s.width+75).attr("y",s.diagramMarginY+37.5).style("text-anchor","middle").text(i),r.bounds.insert(s.diagramMarginX+n*s.margin+150*u,s.diagramMarginY,s.diagramMarginX+n*s.margin+150*u+s.width,s.diagramMarginY+s.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph" -},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],V=[1,92],M=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:M,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){this.updateVal(r.bounds.data,"startx",e,Math.min),this.updateVal(r.bounds.data,"starty",t,Math.min),this.updateVal(r.bounds.data,"stopx",n,Math.max),this.updateVal(r.bounds.data,"stopy",i,Math.max),this.updateLoops(e,t,n,i)},newLoop:function(){this.list.push({startx:void 0,starty:void 0,stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339999")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.getTextObj=function(){var e={x:0,y:0,"text-anchor":"start",style:"#666",width:100,height:100,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d); +break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 5090df2a2..fa24d9fed 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15862,6 +15862,24 @@ exports.parseError = function(err, hash) { var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); +var svgDraw = require('./svgDraw'); +var conf = { + + diagramMarginX:50, + diagramMarginY:10, + // Margin between actors + actorMargin:50, + // Width of actor moxes + width:150, + // Height of actor boxes + height:65, + // Margin around loop boxes + boxMargin:10, + + noteMargin:10, + // Space between messages + messageMargin:40 +}; exports.bounds = { data:{ @@ -15883,56 +15901,52 @@ exports.bounds = { }; this.verticalPos =0; }, - applyMin:function(minVal, margin){ - var minValue = minVal; - this.list.forEach(function(loop){ - if(typeof loop.startx === 'undefined'){ - loop.startx = minValue - margin; - }else{ - loop.startx = Math.min(minValue - margin,loop.startx); - } - minValue = loop.startx; - }); - return minValue; + updateVal : function (obj,key,val,fun){ + if(typeof obj[key] === 'undefined'){ + obj[key] = val; + }else{ + obj[key] = fun(val,obj[key]); + } }, - applyMax:function(maxVal, margin){ - var maxValue = maxVal; + updateLoops:function(startx,starty,stopx,stopy){ + var _self = this; + var cnt = 0; this.list.forEach(function(loop){ - if(typeof loop.stopx === 'undefined'){ - loop.stopx = maxValue + margin; - }else{ - loop.stopx = Math.max(maxValue + margin,loop.stopx); - } - maxValue = loop.stopx; - }); + cnt++; + // The loop list is a stack so the biggest margins in the beginning of the list + var n = _self.list.length-cnt+1; - return maxValue; + _self.updateVal(loop, 'startx',startx - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'starty',starty - n*conf.boxMargin, Math.min); + _self.updateVal(loop, 'stopx' ,stopx + n*conf.boxMargin, Math.max); + _self.updateVal(loop, 'stopy' ,stopy + n*conf.boxMargin, Math.max); + + _self.updateVal(exports.bounds.data,'startx',startx - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'starty',starty - n*conf.boxMargin ,Math.min); + _self.updateVal(exports.bounds.data,'stopx' ,stopx + n*conf.boxMargin ,Math.max); + _self.updateVal(exports.bounds.data,'stopy' ,stopy + n*conf.boxMargin ,Math.max); + }); }, insert:function(startx,starty,stopx,stopy){ - var updateVal = function (key,val,fun){ - if(typeof exports.bounds.data[key] === 'undefined'){ - //console.log('Setting startx',startx); - exports.bounds.data[key] = val; - }else{ - exports.bounds.data[key] = fun(val,exports.bounds.data[key]); - } - }; - updateVal('startx',startx,Math.min); - updateVal('starty',starty,Math.min); - updateVal('stopx' ,stopx ,Math.max); - updateVal('stopy' ,stopy ,Math.max); - //updateLoops(); + this.updateVal(exports.bounds.data,'startx',startx,Math.min); + this.updateVal(exports.bounds.data,'starty',starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + + this.updateLoops(startx,starty,stopx,stopy); }, newLoop:function(){ - this.list.push({startx:undefined,starty:exports.bounds.getVerticalPos(),stopx:undefined,stopy:undefined}); + this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); }, endLoop:function(){ var loop = this.list.pop(); - loop.stopy = exports.bounds.getVerticalPos(); + //loop.stopy = exports.bounds.getVerticalPos(); + return loop; }, bumpVerticalPos:function(bump){ this.verticalPos = this.verticalPos + bump; + this.data.stopy = this.verticalPos; }, getVerticalPos:function(){ return this.verticalPos; @@ -15948,39 +15962,52 @@ exports.bounds = { * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawNote = function(elem, startX, verticalPos, msg){ +var drawNote = function(elem, startx, verticalPos, msg){ + var rect = svgDraw.getNoteRect(); + rect.x = startx; + rect.y = verticalPos; + rect.width = conf.width; + var g = elem.append("g"); - var rectElem = g.append("rect") - .attr("x", startX + conf.noteMargin) - .attr("y", verticalPos - conf.noteMargin) - .attr("fill", '#EDF2AE') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", 100) - .attr("rx", 0) - .attr("ry", 0); - var textElem = g.append("text") - .attr("x", startX + 10) - .attr("y", verticalPos - 15) - .style("text-anchor", "start"); - msg.message.split('
').forEach(function(rowText){ - textElem.append("tspan") - .attr("x", startX + 35 ) - .attr("dy", '1em') - .text(rowText); - }); + var rectElem = svgDraw.drawRect(g, rect); - exports.bounds.insert(startX + conf.noteMargin, verticalPos -conf.noteMargin, startX + conf.noteMargin + conf.width, verticalPos -conf.noteMargin + textElem[0][0].getBBox().height+20); + var textObj = svgDraw.getTextObj(); + textObj.x = startx; + textObj.y = verticalPos+conf.noteMargin; + textObj.textMargin = conf.noteMargin; + textObj.dy = '1em'; + textObj.text = msg.message; - //console.log('textElem.height'); - //console.log(textElem[0][0].getBBox()); - rectElem.attr('height',textElem[0][0].getBBox().height+20); + var textElem = svgDraw.drawText(g,textObj); - exports.bounds.verticalPos = verticalPos + textElem[0][0].getBBox().height - 10; + var textHeight = textElem[0][0].getBBox().height; + exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); - return verticalPos + textElem[0][0].getBBox().height - 10; + rectElem.attr('height',textHeight+ 2*conf.noteMargin); }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#339999"); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); +}; /** * Setup arrow head and define the marker. The result is appended to the svg. @@ -16035,7 +16062,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("stroke", "black") .attr("class", "link") .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); } g.append("text") // text label for the x axis @@ -16065,19 +16091,20 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ * @param pos The position if the actor in the liost of actors * @param description The text in the box */ -var drawActor = function(elem, center, pos, description,i){ +var drawActor = function(elem, left,description){ + var center = left + (conf.width/2); var g = elem.append("g"); g.append("line") .attr("x1", center) - .attr("y1", conf.diagramMarginY) + .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) .attr("stroke-width", '0.5px') .attr("stroke", '#999'); g.append("rect") - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*150) - .attr("y", conf.diagramMarginY) + .attr("x", left) + .attr("y", 0) .attr("fill", '#eaeaea') .attr("stroke", '#666') .attr("width", conf.width) @@ -16085,13 +16112,13 @@ var drawActor = function(elem, center, pos, description,i){ .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis - .attr("x", conf.diagramMarginX + pos*conf.messageMargin +i*conf.width + 75) - .attr("y", conf.diagramMarginY+37.5) + .attr("x", center) + .attr("y", (conf.height/2)+5) .style("text-anchor", "middle") .text(description) ; - exports.bounds.insert(conf.diagramMarginX + pos*conf.margin +i*150, conf.diagramMarginY, conf.diagramMarginX + pos*conf.margin +i*150 + conf.width, conf.diagramMarginY + conf.height); + exports.bounds.insert(left, 0, left + conf.width, conf.height); }; module.exports.drawActors = function(diagram, actors, actorKeys){ @@ -16101,41 +16128,21 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ var key = actorKeys[i]; // Add some rendering data to the object - actors[key].x = conf.diagramMarginX + i*conf.messageMargin +i*conf.width; - actors[key].y = conf.diagramMarginY; + actors[key].x = i*conf.actorMargin +i*conf.width; + actors[key].y = 0; actors[key].width = conf.diagramMarginY; actors[key].height = conf.diagramMarginY; - var center = actors[key].x + (conf.width/2); - - // Keep track of width for with setting on the svg - //maxX = Math.max(maxX,actors[key].x); - // Draw the box with the attached line - drawActor(diagram, center,i, actors[key].description, i); + drawActor(diagram, actors[key].x, actors[key].description); } // Add a margin between the actor boxes and the first arrow - exports.bounds.bumpVerticalPos(conf.diagramMarginY + conf.height); + //exports.bounds.bumpVerticalPos(conf.height+conf.messageMargin); + exports.bounds.bumpVerticalPos(conf.height); }; -var conf = { - diagramMarginX:50, - diagramMarginY:10, - // Margin between actors - margin:50, - // Width of actor moxes - width:150, - // Height of actor boxes - height:65, - // Margin around loop boxes - loopMargin:10, - - noteMargin:25, - // Space between messages - messageMargin:40 -}; module.exports.setConf = function(cnf){ conf = cnf; }; @@ -16147,7 +16154,7 @@ module.exports.setConf = function(cnf){ module.exports.draw = function (text, id) { sq.yy.clear(); sq.parse(text); - + exports.bounds.init(); var diagram = d3.select('#'+id); // Fetch data from the parsing @@ -16155,8 +16162,6 @@ module.exports.draw = function (text, id) { var actorKeys = sq.yy.getActorKeys(); var messages = sq.yy.getMessages(); - var i, maxX = 0, minX=0; - module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once @@ -16165,21 +16170,22 @@ module.exports.draw = function (text, id) { // Draw the messages/signals messages.forEach(function(msg){ - exports.bounds.bumpVerticalPos(conf.messageMargin); + var startx; var stopx; switch(msg.type){ case sq.yy.LINETYPE.NOTE: - startx = actors[msg.from].x + conf.width/2; - stopx = actors[msg.to].x + conf.width/2; + exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; + stopx = actors[msg.to].x; if(msg.placement !== 0){ // Right of - drawNote(diagram, startx, exports.bounds.getVerticalPos(), msg); + drawNote(diagram, startx + (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); }else{ // Left of - drawNote(diagram, startx - conf.width - conf.margin, exports.bounds.getVerticalPos(), msg); + drawNote(diagram, startx - (conf.width + conf.actorMargin)/2, exports.bounds.getVerticalPos(), msg); } break; case sq.yy.LINETYPE.LOOP_START: @@ -16187,30 +16193,94 @@ module.exports.draw = function (text, id) { exports.bounds.newLoop(); break; case sq.yy.LINETYPE.LOOP_END: - exports.bounds.endLoop(); + var loopData = exports.bounds.endLoop(); //var loopData = loopList.pop(); //loopData.stopy = exports.bounds.getVerticalPos(); - //drawLoop(loopData,10); + exports.drawLoop(diagram, loopData); break; default: + exports.bounds.bumpVerticalPos(conf.messageMargin); startx = actors[msg.from].x + conf.width/2; stopx = actors[msg.to].x + conf.width/2; drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); - // Keep track of width for with setting on the svg - maxX = Math.max(maxX,startx + 176); - exports.bounds.applyMax(maxX,conf.loopMargin); } }); - // TODO fetch from bounds - diagram.attr("height", exports.bounds.getVerticalPos() + 40); - diagram.attr("width", maxX ); - diagram.attr("viewBox", minX + ' 0 '+maxX+ ' ' +(exports.bounds.getVerticalPos() + 40)); + var box = exports.bounds.getBounds(); + + var height = box.stopy-box.starty+2*conf.diagramMarginY; + var width = box.stopx-box.startx+2*conf.diagramMarginX; + + diagram.attr("height",height); + diagram.attr("width", width ); + diagram.attr("viewBox", (box.startx-conf.diagramMarginX) + ' -' +conf.diagramMarginY + ' ' + width + ' ' + height); }; -},{"./parser/sequenceDiagram":107,"./sequenceDb":108}],110:[function(require,module,exports){ +},{"./parser/sequenceDiagram":107,"./sequenceDb":108,"./svgDraw":110}],110:[function(require,module,exports){ +/** + * Created by knut on 14-12-20. + */ +exports.drawRect = function(elem , rectData){ + var rectElem = elem.append("rect"); + rectElem.attr("x", rectData.x); + rectElem.attr("y", rectData.y); + rectElem.attr("fill", rectData.fill); + rectElem.attr("stroke", rectData.stroke); + rectElem.attr("width", rectData.width); + rectElem.attr("height", rectData.height); + rectElem.attr("rx", rectData.rx); + rectElem.attr("ry", rectData.ry); + + return rectElem; +}; + +exports.drawText = function(elem , textData){ + var textElem = elem.append('text'); + textElem.attr('x', textData.x); + textElem.attr('y', textData.y); + textElem.style('text-anchor', 'start'); + + textData.text.split('
').forEach(function(rowText){ + var span = textElem.append('tspan'); + span.attr('x', textData.x +textData.textMargin); + span.attr('dy', textData.dy); + span.text(rowText); + }); + + return textElem; +}; + +exports.getTextObj = function(){ + var rect = { + x: 0, + y: 0, + 'text-anchor': 'start', + style: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; + +exports.getNoteRect = function(){ + var rect = { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + height: 100, + rx: 0, + ry: 0 + }; + return rect; +}; + +},{}],111:[function(require,module,exports){ (function (global){ var graph = require('./diagrams/flowchart/graphDb'); var flow = require('./diagrams/flowchart/parser/flow'); @@ -16336,7 +16406,7 @@ global.mermaid = { } }; }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,"he":100}],111:[function(require,module,exports){ +},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,"he":100}],112:[function(require,module,exports){ /** * Created by knut on 14-11-23. */ @@ -16422,4 +16492,4 @@ module.exports.cloneCssStyles = function(svg, classes){ } }; -},{}]},{},[110]) \ No newline at end of file +},{}]},{},[111]) \ No newline at end of file diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 29928d6ba..892cd013b 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,M)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=E&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Jn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Mr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=En((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Mn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=w(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",M="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[M]=!1,z[O]=z[P]=z[j]=z[U]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],M={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return M.lexer=V,e.prototype=M,M.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],M=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],X=[1,108],J=[1,109],Q=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],Et=[1,180],wt=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:M,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:Q,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:X,56:J,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:Et}),t(wt,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:Et}),t(_,[2,78],{64:Et}),t(_,[2,73],{64:Et}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(wt,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=a[E]&&a[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in a[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb"),r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},applyMin:function(e,t){var r=e;return this.list.forEach(function(e){e.startx="undefined"==typeof e.startx?r-t:Math.min(r-t,e.startx),r=e.startx}),r},applyMax:function(e,t){var r=e;return this.list.forEach(function(e){e.stopx="undefined"==typeof e.stopx?r+t:Math.max(r+t,e.stopx),r=e.stopx}),r},insert:function(e,t,n,i){var u=function(e,t,n){r.bounds.data[e]="undefined"==typeof r.bounds.data[e]?t:n(t,r.bounds.data[e])};u("startx",e,Math.min),u("starty",t,Math.min),u("stopx",n,Math.max),u("stopy",i,Math.max)},newLoop:function(){this.list.push({startx:void 0,starty:r.bounds.getVerticalPos(),stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();e.stopy=r.bounds.getVerticalPos()},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var i=function(e,t,n,i){var u=e.append("g"),a=u.append("rect").attr("x",t+s.noteMargin).attr("y",n-s.noteMargin).attr("fill","#EDF2AE").attr("stroke","#666").attr("width",s.width).attr("height",100).attr("rx",0).attr("ry",0),o=u.append("text").attr("x",t+10).attr("y",n-15).style("text-anchor","start");return i.message.split("
").forEach(function(e){o.append("tspan").attr("x",t+35).attr("dy","1em").text(e)}),r.bounds.insert(t+s.noteMargin,n-s.noteMargin,t+s.noteMargin+s.width,n-s.noteMargin+o[0][0].getBBox().height+20),a.attr("height",o[0][0].getBBox().height+20),r.bounds.verticalPos=n+o[0][0].getBBox().height-10,n+o[0][0].getBBox().height-10},u=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},a=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},o=function(e,t,n,i,u){var a=e.append("g");a.append("line").attr("x1",t).attr("y1",s.diagramMarginY).attr("x2",t).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",s.diagramMarginX+n*s.messageMargin+150*u).attr("y",s.diagramMarginY).attr("fill","#eaeaea").attr("stroke","#666").attr("width",s.width).attr("height",s.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",s.diagramMarginX+n*s.messageMargin+u*s.width+75).attr("y",s.diagramMarginY+37.5).style("text-anchor","middle").text(i),r.bounds.insert(s.diagramMarginX+n*s.margin+150*u,s.diagramMarginY,s.diagramMarginX+n*s.margin+150*u+s.width,s.diagramMarginY+s.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":111,he:100}],111:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph" -},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[110]); \ No newline at end of file +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],V=[1,92],M=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:M,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){this.updateVal(r.bounds.data,"startx",e,Math.min),this.updateVal(r.bounds.data,"starty",t,Math.min),this.updateVal(r.bounds.data,"stopx",n,Math.max),this.updateVal(r.bounds.data,"stopy",i,Math.max),this.updateLoops(e,t,n,i)},newLoop:function(){this.list.push({startx:void 0,starty:void 0,stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339999")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.getTextObj=function(){var e={x:0,y:0,"text-anchor":"start",style:"#666",width:100,height:100,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d); +break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index 8a5bca8b4..e1f37fa1e 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -459,7 +459,6 @@ describe('when rendering a sequenceDiagram',function() { 'loop Cheers\n' + 'Bob->Alice: Fine!\n' + 'end'; - sq.parse(str); sd.draw(str,'tst'); diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index f5ae09eb4..550736a54 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -205,7 +205,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("stroke", "black") .attr("class", "link") .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); } g.append("text") // text label for the x axis @@ -214,7 +213,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .style("text-anchor", "middle") .text(msg.message); - //console.log('Setting message bounds'); exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ From 9458bfb24f7f95d22ee0d345b204ef4581c30f6d Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 20 Dec 2014 18:41:20 +0100 Subject: [PATCH 12/48] Sequence diagram loop margins Handling of arrows to the left in loops in sequence diagrams Addition of labels --- .../sequenceDiagram/sequenceDiagram.spec.js | 11 +++- .../sequenceDiagram/sequenceRenderer.js | 57 ++++++++++++++----- src/diagrams/sequenceDiagram/svgDraw.js | 27 ++++++++- 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index e1f37fa1e..b441287aa 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -121,6 +121,7 @@ describe('when checking the bounds in a sequenceDiagram',function() { height:65, boxMargin:10, messageMargin:40, + boxTextMargin:15, noteMargin:25 }; sd.setConf(conf); @@ -169,6 +170,7 @@ describe('when checking the bounds in a sequenceDiagram',function() { sd.bounds.init(); sd.bounds.insert(25,50,300,400); + sd.bounds.verticalPos = 150; sd.bounds.newLoop(); sd.bounds.insert(125,150,150,200); @@ -193,6 +195,7 @@ describe('when checking the bounds in a sequenceDiagram',function() { sd.bounds.init(); sd.bounds.insert(100,100,1000,1000); + sd.bounds.verticalPos = 200; sd.bounds.newLoop(); sd.bounds.newLoop(); sd.bounds.insert(200,200,300,300); @@ -226,6 +229,7 @@ describe('when checking the bounds in a sequenceDiagram',function() { sd.bounds.init(); sd.bounds.insert(100,100,200,200); + sd.bounds.verticalPos = 200; sd.bounds.newLoop(); sd.bounds.insert(50,50,300,300); @@ -328,6 +332,7 @@ describe('when rendering a sequenceDiagram',function() { height:65, boxMargin:10, messageMargin:40, + boxTextMargin:15, noteMargin:25 }; sd.setConf(conf); @@ -430,7 +435,7 @@ describe('when rendering a sequenceDiagram',function() { var expStopX = conf.actorMargin +conf.width+ (conf.width/2) + conf.noteMargin + conf.width; expect(bounds.stopx ).toBe(expStopX); - expect(bounds.stopy ).toBe(2*conf.messageMargin + conf.height + conf.boxMargin); + expect(bounds.stopy ).toBe(2*conf.messageMargin + conf.height + conf.boxMargin + 10+ 2*conf.noteMargin); }); it('it should draw two actors notes to the left', function () { @@ -448,7 +453,7 @@ describe('when rendering a sequenceDiagram',function() { expect(bounds.starty).toBe(0); expect(bounds.stopx ).toBe( conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe( 2*conf.messageMargin + conf.height + conf.boxMargin); + expect(bounds.stopy ).toBe( 2*conf.messageMargin + conf.height + conf.boxMargin +10+ 2*conf.noteMargin); }); @@ -467,7 +472,7 @@ describe('when rendering a sequenceDiagram',function() { expect(bounds.starty).toBe(0); expect(bounds.stopx ).toBe(0 + conf.width*2 + conf.actorMargin); - expect(bounds.stopy ).toBe(0 + 2*conf.messageMargin + conf.height + conf.boxMargin); + expect(bounds.stopy ).toBe(0 + 2*conf.messageMargin + conf.height + 3*conf.boxMargin + conf.boxTextMargin); }); }); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 550736a54..079ee070a 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -18,6 +18,7 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, + boxTextMargin:15, noteMargin:10, // Space between messages @@ -72,15 +73,23 @@ exports.bounds = { }, insert:function(startx,starty,stopx,stopy){ - this.updateVal(exports.bounds.data,'startx',startx,Math.min); - this.updateVal(exports.bounds.data,'starty',starty,Math.min); - this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); - this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + var _startx, _starty, _stopx, _stopy; + + _startx = Math.min(startx,stopx); + _stopx = Math.max(startx,stopx); + _starty = Math.min(starty,stopy); + _stopy = Math.max(starty,stopy); + + this.updateVal(exports.bounds.data,'startx',_startx,Math.min); + this.updateVal(exports.bounds.data,'starty',_starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,_stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,_stopy ,Math.max); + + this.updateLoops(_startx,_starty,_stopx,_stopy); - this.updateLoops(startx,starty,stopx,stopy); }, - newLoop:function(){ - this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); + newLoop:function(title){ + this.list.push({startx:undefined,starty:this.verticalPos,stopx:undefined,stopy:undefined, title:title}); }, endLoop:function(){ var loop = this.list.pop(); @@ -127,12 +136,13 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); rectElem.attr('height',textHeight+ 2*conf.noteMargin); + exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors + * @param pos The position if the actor in the list of actors * @param description The text in the box */ exports.drawLoop = function(elem,bounds){ @@ -144,14 +154,31 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339999"); + .attr("stroke", "#339933"); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + + var txt = svgDraw.getTextObj(); + txt.text = "Loop"; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + + svgDraw.drawLabel(g,txt); + + txt = svgDraw.getTextObj(); + txt.text = bounds.title; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + + svgDraw.drawText(g,txt); }; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ @@ -179,6 +206,7 @@ var insertArrowHead = function(elem){ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container //Draw the line if(msg.type !== 2) { @@ -212,7 +240,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ @@ -318,6 +345,7 @@ module.exports.draw = function (text, id) { switch(msg.type){ case sq.yy.LINETYPE.NOTE: exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; stopx = actors[msg.to].x; @@ -331,14 +359,15 @@ module.exports.draw = function (text, id) { } break; case sq.yy.LINETYPE.LOOP_START: - //var loop = exports.bounds.newLoop(); - exports.bounds.newLoop(); + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); break; case sq.yy.LINETYPE.LOOP_END: var loopData = exports.bounds.endLoop(); - //var loopData = loopList.pop(); - //loopData.stopy = exports.bounds.getVerticalPos(); + exports.drawLoop(diagram, loopData); + exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: exports.bounds.bumpVerticalPos(conf.messageMargin); diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index a237edc3f..545306143 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -19,7 +19,8 @@ exports.drawText = function(elem , textData){ var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); - textElem.style('text-anchor', 'start'); + textElem.style('text-anchor', textData.anchor); + textElem.style('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -31,14 +32,37 @@ exports.drawText = function(elem , textData){ return textElem; }; +exports.drawLabel = function(elem , txtObject){ + var rectData = exports.getNoteRect(); + rectData.x = txtObject.x; + rectData.y = txtObject.y; + rectData.width = 50; + rectData.height = 20; + rectData.fill = '#339933'; + rectData.stroke = 'none'; + //rectData.color = 'white'; + + var label = exports.drawRect(elem, rectData); + + txtObject.y = txtObject.y + txtObject.labelMargin; + txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; + txtObject.fill = 'white'; + exports.drawText(elem, txtObject); + + //return textElem; +}; + + exports.getTextObj = function(){ var rect = { x: 0, y: 0, + 'fill':'black', 'text-anchor': 'start', style: '#666', width: 100, height: 100, + textMargin:0, rx: 0, ry: 0 }; @@ -52,6 +76,7 @@ exports.getNoteRect = function(){ fill: '#EDF2AE', stroke: '#666', width: 100, + anchor:'start', height: 100, rx: 0, ry: 0 From c703c9a0d3e3c3f03fee5e80d1ec94cd5ff2cfce Mon Sep 17 00:00:00 2001 From: fardog Date: Sat, 20 Dec 2014 17:18:38 -0800 Subject: [PATCH 13/48] Adds CLI for rendering mermaid files --- bin/mermaid.js | 27 ++++++ lib/cli.js | 135 +++++++++++++++++++++++++++ lib/index.js | 40 ++++++++ lib/phantomscript.js | 213 +++++++++++++++++++++++++++++++++++++++++++ package.json | 10 +- 5 files changed, 424 insertions(+), 1 deletion(-) create mode 100755 bin/mermaid.js create mode 100644 lib/cli.js create mode 100644 lib/index.js create mode 100644 lib/phantomscript.js diff --git a/bin/mermaid.js b/bin/mermaid.js new file mode 100755 index 000000000..4a39d8baf --- /dev/null +++ b/bin/mermaid.js @@ -0,0 +1,27 @@ +#!/usr/bin/env node + +var fs = require('fs') + , chalk = require('chalk') + , error = chalk.bold.red + , cli = require('../lib/cli.js') + , lib = require('../lib') + +cli.parse(process.argv.slice(2), function(err, message, options) { + if (err) { + console.error( + error('\nYou had errors in your syntax. Use --help for further information.') + ) + err.forEach(function (e) { + console.error(e.message) + }) + + return + } + else if (message) { + console.log(message) + + return + } + + lib.process(options.files, options) +}) diff --git a/lib/cli.js b/lib/cli.js new file mode 100644 index 000000000..14ee904da --- /dev/null +++ b/lib/cli.js @@ -0,0 +1,135 @@ +var fs = require('fs') + , exec = require('child_process').exec + , chalk = require('chalk') + , which = require('which') + , parseArgs = require('minimist') + , semver = require('semver') + +var PHANTOM_VERSION = "^1.9.0" + +var info = chalk.blue.bold + , note = chalk.green.bold + +var cli = function(options) { + this.options = { + alias: { + help: 'h' + , png: 'p' + , outputDir: 'o' + , svg: 's' + , verbose: 'v' + , phantomPath: 'e' + } + , 'boolean': ['help', 'png', 'svg'] + , 'string': ['outputDir'] + } + + this.errors = [] + this.message = null + + this.helpMessage = [ + , info('Usage: mermaid [options] ...') + , "" + , "file The mermaid description file to be rendered" + , "" + , "Options:" + , " -s --svg Output SVG instead of PNG (experimental)" + , " -p --png If SVG was selected, and you also want PNG, set this flag" + , " -o --outputDir Directory to save files, will be created automatically, defaults to `cwd`" + , " -e --phantomPath Specify the path to the phantomjs executable" + , " -h --help Show this message" + , " -v --verbose Show logging" + , " --version Print version and quit" + ] + + return this +} + +cli.prototype.parse = function(argv, next) { + var options = parseArgs(argv, this.options) + , phantom + + if (options.version) { + var pkg = require('../package.json') + this.message = "" + pkg.version + } + else if (options.help) { + this.message = this.helpMessage.join('\n') + } + else { + options.files = options._ + + if (!options.files.length) { + this.errors.push(new Error("You must specify at least one source file.")) + } + + // ensure that parameter-expecting options have parameters + ;['outputDir', 'phantomPath'].forEach(function(i) { + if(typeof options[i] !== 'undefined') { + if (typeof options[i] !== 'string' || options[i].length < 1) { + this.errors.push(new Error(i + " expects a value.")) + } + } + }.bind(this)) + } + + if (options.svg && !options.png) { + options.png = false + } + else { + options.png = true + } + + // If phantom hasn't been specified, see if we can find it + if (!options.phantomPath) { + try { + var phantom = require('phantomjs') + options.phantomPath = phantom.path + } catch (e) { + try { + options.phantomPath = which.sync('phantomjs') + } catch (e) { + if (!options.phantomPath) { + var err = [ + "Cannot find phantomjs in your PATH. If phantomjs is installed" + , "you may need to specify its path manually with the '-e' option." + , "If it is not installed, you should view the README for further" + , "details." + ] + + this.errors.push(new Error(err.join('\n'))) + next( + this.errors.length > 0 ? this.errors : null + , this.message + , options) + + return + } + } + } + } + + // If we have phantompath, see if its version satisfies our requirements + exec(options.phantomPath + ' --version', function(err, stdout, stderr) { + if (err) { + this.errors.push( + new Error("Could not find phantomjs at the specified path.") + ) + } + else if (!semver.satisfies(stdout, PHANTOM_VERSION)) { + this.message = note( + 'mermaid requires phantomjs ' + + PHANTOM_VERSION + + ' to be installed, found version ' + + stdout + ) + } + next(this.errors.length > 0 ? this.errors : null, this.message, options) + }.bind(this)) + +} + + +module.exports = function() { + return new cli() +}() diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 000000000..9ed12c796 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,40 @@ +var os = require('os') + , fs = require('fs') + , path = require('path') + , spawn = require('child_process').spawn + +var mkdirp = require('mkdirp') + +var phantomscript = path.join(__dirname, 'phantomscript.js') + +module.exports = { process: processMermaid } + +function processMermaid(files, _options, _next) { + var options = _options || {} + , outputDir = options.outputDir || process.cwd() + , next = _next || function() {} + , phantomArgs = [ + phantomscript + , outputDir + , options.png + , options.svg + , options.verbose + ] + + files.forEach(function(file) { + phantomArgs.push(file) + }) + + mkdirp(outputDir, function(err) { + if (err) { + throw err + return + } + phantom = spawn(options.phantomPath, phantomArgs) + + phantom.on('exit', next) + + phantom.stderr.pipe(process.stderr) + phantom.stdout.pipe(process.stdout) + }) +} diff --git a/lib/phantomscript.js b/lib/phantomscript.js new file mode 100644 index 000000000..a624870af --- /dev/null +++ b/lib/phantomscript.js @@ -0,0 +1,213 @@ +/** + * Credits: + * - SVG Processing from the NYTimes svg-crowbar, under an MIT license + * https://github.com/NYTimes/svg-crowbar + * - Thanks to the grunticon project for some guidance + * https://github.com/filamentgroup/grunticon + */ + +phantom.onError = function(msg, trace) { + var msgStack = ['PHANTOM ERROR: ' + msg] + if (trace && trace.length) { + msgStack.push('TRACE:') + trace.forEach(function(t) { + msgStack.push( + ' -> ' + + (t.file || t.sourceURL) + + ': ' + + t.line + + (t.function ? ' (in function ' + t.function +')' : '') + ) + }) + } + system.stderr.write(msgStack.join('\n')) + phantom.exit(1) +} + +var system = require('system') + , fs = require('fs') + , webpage = require('webpage') + +var page = webpage.create() + , files = phantom.args.slice(4, phantom.args.length) + , options = { + outputDir: phantom.args[0] + , png: phantom.args[1] === 'true' ? true : false + , svg: phantom.args[2] === 'true' ? true : false + , verbose: phantom.args[3] === 'true' ? true : false + } + , log = logger(options.verbose) + +page.content = [ + '' + , '' + , '' + , '' + , '' + , '' + , '' +].join('\n') + +page.injectJs('../dist/mermaid.full.js') + +files.forEach(function(file) { + var contents = fs.read(file) + , filename = file.split(fs.separator).slice(-1) + , oParser = new DOMParser() + , oDOM + , svgContent + , allElements + + // this JS is executed in this statement is sandboxed, even though it doesn't + // look like it. we need to serialize then unserialize the svgContent that's + // taken from the DOM + svgContent = page.evaluate(executeInPage, contents) + oDOM = oParser.parseFromString(svgContent, "text/xml") + + resolveSVGElement(oDOM.firstChild) + + // traverse the SVG, and replace all foreignObject elements + // can be removed when https://github.com/knsv/mermaid/issues/58 is resolved + allElements = traverse(oDOM) + for (var i = 0, len = allElements.length; i < len; i++) { + resolveForeignObjects(allElements[i]) + } + + if (options.png) { + page.viewportSize = { + width: ~~oDOM.documentElement.attributes.getNamedItem('width').value + , height: ~~oDOM.documentElement.attributes.getNamedItem('height').value + } + + page.render(options.outputDir + fs.separator + filename + '.png') + log('saved png: ' + filename + '.png') + } + + if (options.svg) { + var serialize = new XMLSerializer() + fs.write( + options.outputDir + fs.separator + filename + '.svg' + , serialize.serializeToString(oDOM) + , 'w' + ) + log('saved svg: ' + filename + '.svg') + } +}) + +phantom.exit() + +function logger(_verbose) { + var verbose = _verbose + + return function(_message, _level) { + var level = level + , message = _message + , log + + log = level === 'error' ? system.stderr : system.stdout + + if (verbose) { + log.write(message + '\n') + } + } +} + +function traverse(obj){ + var tree = [] + + tree.push(obj) + visit(obj) + + function visit(node) { + if (node && node.hasChildNodes()) { + var child = node.firstChild + while (child) { + if (child.nodeType === 1 && child.nodeName != 'SCRIPT'){ + tree.push(child) + visit(child) + } + child = child.nextSibling + } + } + } + + return tree +} + +function resolveSVGElement(element) { + var prefix = { + xmlns: "http://www.w3.org/2000/xmlns/" + , xlink: "http://www.w3.org/1999/xlink" + , svg: "http://www.w3.org/2000/svg" + } + , doctype = '' + + element.setAttribute("version", "1.1") + // removing attributes so they aren't doubled up + element.removeAttribute("xmlns") + element.removeAttribute("xlink") + // These are needed for the svg + if (!element.hasAttributeNS(prefix.xmlns, "xmlns")) { + element.setAttributeNS(prefix.xmlns, "xmlns", prefix.svg) + } + if (!element.hasAttributeNS(prefix.xmlns, "xmlns:xlink")) { + element.setAttributeNS(prefix.xmlns, "xmlns:xlink", prefix.xlink) + } +} + +function resolveForeignObjects(element) { + var children + , textElement + , textSpan + + if (element.tagName === 'foreignObject') { + textElement = document.createElement('text') + textSpan = document.createElement('tspan') + textSpan.setAttribute( + 'style' + , 'font-size: 11.5pt; font-family: "sans-serif";' + ) + textSpan.setAttribute('x', 0) + textSpan.setAttribute('y', 14.5) + textSpan.textContent = element.textContent + + textElement.appendChild(textSpan) + element.parentElement.appendChild(textElement) + element.parentElement.removeChild(element) + } +} + +// The sandboxed function that's executed in-page by phantom +function executeInPage(contents) { + var xmlSerializer = new XMLSerializer() + , toRemove + , el + , elContent + , svg + , svgValue + + toRemove = document.getElementsByClassName('mermaid') + if (toRemove && toRemove.length) { + for (var i = 0, len = toRemove.length; i < len; i++) { + toRemove[i].parentNode.removeChild(toRemove[i]) + } + } + + el = document.createElement("div") + el.className = 'mermaid' + elContent = document.createTextNode(contents) + el.appendChild(elContent) + + document.body.appendChild(el) + + mermaid.init() + + svg = document.querySelector('svg') + svgValue = xmlSerializer.serializeToString(svg) + + return svgValue +} diff --git a/package.json b/package.json index f3ee7a33e..ef27ddd9b 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,9 @@ "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", + "bin": { + "mermaid": "./bin/mermaid.js" + }, "scripts": { "test": "gulp coverage" }, @@ -13,8 +16,13 @@ "author": "", "license": "MIT", "dependencies": { + "chalk": "^0.5.1", + "dagre-d3": "~0.3.2", "he": "^0.5.0", - "dagre-d3": "~0.3.2" + "minimist": "^1.1.0", + "mkdirp": "^0.5.0", + "semver": "^4.1.1", + "which": "^1.0.8" }, "devDependencies": { "browserify": "~6.2.0", From f349ddd796928ed1148419f591dd1b52367a129a Mon Sep 17 00:00:00 2001 From: fardog Date: Sat, 20 Dec 2014 17:40:58 -0800 Subject: [PATCH 14/48] Adds CLI tests --- gulpfile.js | 2 + package.json | 6 +- test/cli_test-output.js | 101 +++++++++++++++++++++++++++++++++ test/cli_test-parser.js | 100 ++++++++++++++++++++++++++++++++ test/fixtures/sequence.mermaid | 8 +++ test/fixtures/test.mermaid | 5 ++ test/fixtures/test2.mermaid | 7 +++ 7 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 test/cli_test-output.js create mode 100644 test/cli_test-parser.js create mode 100644 test/fixtures/sequence.mermaid create mode 100644 test/fixtures/test.mermaid create mode 100644 test/fixtures/test2.mermaid diff --git a/gulpfile.js b/gulpfile.js index 6d77a3d5e..de50f3bff 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -45,6 +45,8 @@ gulp.task('jasmine',['jison','lint'], function () { .pipe(jasmine({includeStackTrace:true})); }); +gulp.task('tape', shell.task(['./node_modules/.bin/tape ./test/cli_test-*.js'])); + gulp.task('coverage', function (cb) { gulp.src(['src/**/*.js', '!src/**/*.spec.js']) .pipe(istanbul()) // Covering files diff --git a/package.json b/package.json index ef27ddd9b..8df079cb0 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,9 @@ "which": "^1.0.8" }, "devDependencies": { + "async": "^0.9.0", "browserify": "~6.2.0", + "clone": "^0.2.0", "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", @@ -62,6 +64,8 @@ "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", - "rewire": "^2.1.3" + "rewire": "^2.1.3", + "rimraf": "^2.2.8", + "tape": "^3.0.3" } } diff --git a/test/cli_test-output.js b/test/cli_test-output.js new file mode 100644 index 000000000..5cea818d0 --- /dev/null +++ b/test/cli_test-output.js @@ -0,0 +1,101 @@ +var fs = require('fs') + , path = require('path') + +var test = require('tape') + , async = require('async') + , clone = require('clone') + , rimraf = require('rimraf') + +var mermaid = require('../lib') + +var singleFile = { + files: ['test/fixtures/test.mermaid'] + , outputDir: 'test/tmp/' + , phantomPath: './node_modules/.bin/phantomjs' + } + , multiFile = { + files: ['test/fixtures/test.mermaid', 'test/fixtures/test2.mermaid'] + , outputDir: 'test/tmp/' + , phantomPath: './node_modules/.bin/phantomjs' + } + + +test('output of single png', function(t) { + t.plan(3) + + var expected = ['test.mermaid.png'] + + opt = clone(singleFile) + opt.png = true + + mermaid.process(opt.files, opt, function(code) { + t.equal(code, 0, 'has clean exit code') + + verifyFiles(expected, opt.outputDir, t) + }) +}) + +test('output of multiple png', function(t) { + t.plan(3) + + var expected = ['test.mermaid.png', 'test2.mermaid.png'] + + opt = clone(multiFile) + opt.png = true + + mermaid.process(opt.files, opt, function(code) { + t.equal(code, 0, 'has clean exit code') + + verifyFiles(expected, opt.outputDir, t) + }) +}) + +test('output of single svg', function(t) { + t.plan(3) + + var expected = ['test.mermaid.svg'] + + opt = clone(singleFile) + opt.svg = true + + mermaid.process(opt.files, opt, function(code) { + t.equal(code, 0, 'has clean exit code') + + verifyFiles(expected, opt.outputDir, t) + }) +}) + +test('output of multiple svg', function(t) { + t.plan(3) + + var expected = ['test.mermaid.svg', 'test2.mermaid.svg'] + + opt = clone(multiFile) + opt.svg = true + + mermaid.process(opt.files, opt, function(code) { + t.equal(code, 0, 'has clean exit code') + + verifyFiles(expected, opt.outputDir, t) + }) +}) + +function verifyFiles(expected, dir, t) { + async.each( + expected + , function(file, cb) { + filename = path.join(dir, path.basename(file)) + fs.stat(filename, function(err, stat) { + cb(err) + }) + } + , function(err) { + t.notOk(err, 'all files passed') + + rimraf(dir, function(rmerr) { + t.notOk(rmerr, 'cleaned up') + t.end() + }) + } + ) +} diff --git a/test/cli_test-parser.js b/test/cli_test-parser.js new file mode 100644 index 000000000..f21acfd67 --- /dev/null +++ b/test/cli_test-parser.js @@ -0,0 +1,100 @@ +var test = require('tape') + , cliPath = '../lib/cli' + +test('parses multiple files', function(t) { + t.plan(2) + + var cli = require(cliPath) + , argv = ['example/file1.mermaid', 'file2.mermaid', 'file3.mermaid'] + , expect = ['example/file1.mermaid', 'file2.mermaid', 'file3.mermaid'] + + cli.parse(argv, function(err, msg, opt) { + t.equal(opt.files.length, 3, 'should have 3 parameters') + t.deepEqual(opt.files, expect, 'should match expected values') + + t.end() + }) +}) + +test('defaults to png', function(t) { + t.plan(2) + + var cli = require(cliPath) + , argv = ['example/file1.mermaid'] + + cli.parse(argv, function(err, msg, opt) { + t.ok(opt.png, 'png is set by default') + t.notOk(opt.svg, 'svg is not set by default') + + t.end() + }) +}) + +test('setting svg unsets png', function(t) { + t.plan(2) + + var cli = require(cliPath) + , argv = ['example/file1.mermaid', '-s'] + + cli.parse(argv, function(err, msg, opt) { + + t.ok(opt.svg, 'svg is set when requested') + t.notOk(opt.png, 'png is unset when svg is set') + + t.end() + }) +}) + +test('setting png and svg is allowed', function(t) { + t.plan(2) + + var cli = require(cliPath) + , argv = ['example/file1.mermaid', '-s', '-p'] + + cli.parse(argv, function(err, msg, opt) { + t.ok(opt.png, 'png is set when requested') + t.ok(opt.svg, 'svg is set when requested') + + t.end() + }) +}) + +test('setting an output directory succeeds', function(t) { + t.plan(1) + + var cli = require(cliPath) + , argv = ['-o', 'example/'] + + cli.parse(argv, function(err, msg, opt) { + t.equal(opt.outputDir, 'example/', 'output directory is set') + t.end() + }) +}) + +test('setting an output directory incorrectly causes an error', function(t) { + t.plan(1) + + var cli = require(cliPath) + , argv = ['-o'] + + cli.parse(argv, function(err) { + t.ok(err, 'an error is raised') + + t.end() + }) +}) + +test('a callback function is called after parsing', function(t) { + t.plan(2) + + var cli = require(cliPath) + , argv = ['example/test.mermaid'] + , expects = ['example/test.mermaid'] + + cli.parse(argv, function(err, msg, opts) { + t.ok(true, 'callback was called') + t.deepEqual(argv, opts.files, 'options are as expected') + + t.end() + }) +}) diff --git a/test/fixtures/sequence.mermaid b/test/fixtures/sequence.mermaid new file mode 100644 index 000000000..e0f8a5b57 --- /dev/null +++ b/test/fixtures/sequence.mermaid @@ -0,0 +1,8 @@ +sequenceDiagram + Alice->Bob: Hello Bob, how are you? + Note right of Bob: Bob thinks + Bob-->Alice: I am good thanks! + Bob-->John the Long: How about you John? + Bob-->Alice: Checking with John... + Alice->John the Long: Yes... John, how are you? + John the Long-->Alice: Better than you! diff --git a/test/fixtures/test.mermaid b/test/fixtures/test.mermaid new file mode 100644 index 000000000..d5bf6cb31 --- /dev/null +++ b/test/fixtures/test.mermaid @@ -0,0 +1,5 @@ +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; diff --git a/test/fixtures/test2.mermaid b/test/fixtures/test2.mermaid new file mode 100644 index 000000000..02a2a061b --- /dev/null +++ b/test/fixtures/test2.mermaid @@ -0,0 +1,7 @@ +graph LR; + A[Hard edge]-->|Link text|B(Round edge); + B-->C{Decision}; + C-->|One|D[Result one]; + C-->|Two|E[Result two]; + classDef pink fill:#f9f,stroke:#333,stroke-width:4px; + class C pink; From d2513e9b501984c9851a16ee53f5c786f685f427 Mon Sep 17 00:00:00 2001 From: fardog Date: Sat, 20 Dec 2014 17:46:23 -0800 Subject: [PATCH 15/48] Adds CLI information to the README. --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index c027212de..4d4117016 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,36 @@ graph LR ![Example 2](http://www.sveido.com/mermaid/img/ex2.png) +# mermaid CLI + +Installing mermaid globally (`npm install -g mermaid`) will expose the `mermaid` command to your environment, allowing you to generate PNGs from any file containing mermaid markup via the command line. + +**Note:** The `mermaid` command requires PhantomJS to be installed and available in your *$PATH*. You can specify it's location with the `-e` option. + +## Usage + +``` +$ mermaid --help + +Usage: mermaid [options] ... + +file The mermaid description file to be rendered + +Options: + -s --svg Output SVG instead of PNG (experimental) + -p --png If SVG was selected, and you also want PNG, set this flag + -o --outputDir Directory to save files, will be created automatically, defaults to `cwd` + -e --phantomPath Specify the path to the phantomjs executable + -h --help Show this message + -v --verbose Show logging + --version Print version and quit +``` + +## Known Issues + +- SVG output currently does some replacement on text, as mermaid's SVG output is only appropriate for browsers. Text color and background color is not yet replicated; please use PNGs for most purposes until this is resolved. +- SVG output is decidedly non-standard. It works, but may cause issues in some viewers. + # Credits Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries! Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. From 46a7eaea7da47b378f3b92b71d36a0c2b983a11f Mon Sep 17 00:00:00 2001 From: fardog Date: Sat, 20 Dec 2014 17:49:06 -0800 Subject: [PATCH 16/48] Better information around CLI's phantomjs requirement --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d4117016..a396e1686 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ graph LR Installing mermaid globally (`npm install -g mermaid`) will expose the `mermaid` command to your environment, allowing you to generate PNGs from any file containing mermaid markup via the command line. -**Note:** The `mermaid` command requires PhantomJS to be installed and available in your *$PATH*. You can specify it's location with the `-e` option. +**Note:** The `mermaid` command requires [PhantomJS](http://phantomjs.org/) (version `^1.9.0`) to be installed and available in your *$PATH*, or you can specify it's location with the `-e` option. For most environments, `npm install -g phantomjs` will satisfy this requirement. ## Usage From 8920411b3c7dbe9b86a48334d85e4293464f3e63 Mon Sep 17 00:00:00 2001 From: fardog Date: Sat, 20 Dec 2014 17:50:45 -0800 Subject: [PATCH 17/48] Make obvious that README known issues section is for the CLI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a396e1686..ba5ceea80 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ Options: --version Print version and quit ``` -## Known Issues +## CLI Known Issues - SVG output currently does some replacement on text, as mermaid's SVG output is only appropriate for browsers. Text color and background color is not yet replicated; please use PNGs for most purposes until this is resolved. - SVG output is decidedly non-standard. It works, but may cause issues in some viewers. From 307c599a0e5e6a6026e75a3c7447ec3e75598a4f Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 21 Dec 2014 11:25:31 +0100 Subject: [PATCH 18/48] Inclusion of tape tests in new test target for travis --- dist/mermaid.full.js | 152 +++++++++++++----- dist/mermaid.full.min.js | 10 +- dist/mermaid.slim.js | 152 +++++++++++++----- dist/mermaid.slim.min.js | 10 +- gulpfile.js | 3 + package.json | 2 +- .../parser/sequenceDiagram.jison | 2 + .../sequenceDiagram/parser/sequenceDiagram.js | 42 ++--- src/main.js | 7 +- 9 files changed, 268 insertions(+), 112 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 16772776c..0670fb030 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13004,8 +13004,11 @@ module.exports={ "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", + "bin": { + "mermaid": "./bin/mermaid.js" + }, "scripts": { - "test": "gulp coverage" + "test": "gulp test" }, "repository": { "type": "git", @@ -13014,11 +13017,18 @@ module.exports={ "author": "", "license": "MIT", "dependencies": { + "chalk": "^0.5.1", + "dagre-d3": "~0.3.2", "he": "^0.5.0", - "dagre-d3": "~0.3.2" + "minimist": "^1.1.0", + "mkdirp": "^0.5.0", + "semver": "^4.1.1", + "which": "^1.0.8" }, "devDependencies": { + "async": "^0.9.0", "browserify": "~6.2.0", + "clone": "^0.2.0", "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", @@ -13055,7 +13065,9 @@ module.exports={ "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", - "rewire": "^2.1.3" + "rewire": "^2.1.3", + "rimraf": "^2.2.8", + "tape": "^3.0.3" } } @@ -15746,44 +15758,48 @@ case 4:return 10; break; case 5:return 16; break; -case 6:return 18; +case 6:return 16; break; -case 7:return 24; +case 7:return 16; break; -case 8:return 25; +case 8:return 18; break; -case 9:return 21; +case 9:return 24; break; -case 10:return 19; +case 10:return 25; break; -case 11:return 14; +case 11:return 21; break; -case 12:return 4; +case 12:return 19; break; -case 13:return 23; +case 13:return 14; break; -case 14:return 17; +case 14:return 4; break; -case 15:return 30; +case 15:return 23; break; -case 16:return 29; +case 16:return 17; break; -case 17:return 32; +case 17:return 30; break; -case 18:return 31; +case 18:return 29; break; -case 19:return 33; +case 19:return 32; break; -case 20:return 'CMT'; +case 20:return 31; break; -case 21:return 6; +case 21:return 33; break; -case 22:return 'INVALID'; +case 22:return 'CMT'; +break; +case 23:return 6; +break; +case 24:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15907,6 +15923,7 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, + boxTextMargin:15, noteMargin:10, // Space between messages @@ -15961,15 +15978,23 @@ exports.bounds = { }, insert:function(startx,starty,stopx,stopy){ - this.updateVal(exports.bounds.data,'startx',startx,Math.min); - this.updateVal(exports.bounds.data,'starty',starty,Math.min); - this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); - this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + var _startx, _starty, _stopx, _stopy; + + _startx = Math.min(startx,stopx); + _stopx = Math.max(startx,stopx); + _starty = Math.min(starty,stopy); + _stopy = Math.max(starty,stopy); + + this.updateVal(exports.bounds.data,'startx',_startx,Math.min); + this.updateVal(exports.bounds.data,'starty',_starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,_stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,_stopy ,Math.max); + + this.updateLoops(_startx,_starty,_stopx,_stopy); - this.updateLoops(startx,starty,stopx,stopy); }, - newLoop:function(){ - this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); + newLoop:function(title){ + this.list.push({startx:undefined,starty:this.verticalPos,stopx:undefined,stopy:undefined, title:title}); }, endLoop:function(){ var loop = this.list.pop(); @@ -16016,12 +16041,13 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); rectElem.attr('height',textHeight+ 2*conf.noteMargin); + exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors + * @param pos The position if the actor in the list of actors * @param description The text in the box */ exports.drawLoop = function(elem,bounds){ @@ -16033,14 +16059,31 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339999"); + .attr("stroke", "#339933"); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + + var txt = svgDraw.getTextObj(); + txt.text = "Loop"; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + + svgDraw.drawLabel(g,txt); + + txt = svgDraw.getTextObj(); + txt.text = bounds.title; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + + svgDraw.drawText(g,txt); }; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ @@ -16068,6 +16111,7 @@ var insertArrowHead = function(elem){ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container //Draw the line if(msg.type !== 2) { @@ -16101,8 +16145,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); - - //console.log('Setting message bounds'); exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ @@ -16208,6 +16250,7 @@ module.exports.draw = function (text, id) { switch(msg.type){ case sq.yy.LINETYPE.NOTE: exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; stopx = actors[msg.to].x; @@ -16221,14 +16264,15 @@ module.exports.draw = function (text, id) { } break; case sq.yy.LINETYPE.LOOP_START: - //var loop = exports.bounds.newLoop(); - exports.bounds.newLoop(); + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); break; case sq.yy.LINETYPE.LOOP_END: var loopData = exports.bounds.endLoop(); - //var loopData = loopList.pop(); - //loopData.stopy = exports.bounds.getVerticalPos(); + exports.drawLoop(diagram, loopData); + exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: exports.bounds.bumpVerticalPos(conf.messageMargin); @@ -16272,7 +16316,8 @@ exports.drawText = function(elem , textData){ var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); - textElem.style('text-anchor', 'start'); + textElem.style('text-anchor', textData.anchor); + textElem.style('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -16284,14 +16329,37 @@ exports.drawText = function(elem , textData){ return textElem; }; +exports.drawLabel = function(elem , txtObject){ + var rectData = exports.getNoteRect(); + rectData.x = txtObject.x; + rectData.y = txtObject.y; + rectData.width = 50; + rectData.height = 20; + rectData.fill = '#339933'; + rectData.stroke = 'none'; + //rectData.color = 'white'; + + var label = exports.drawRect(elem, rectData); + + txtObject.y = txtObject.y + txtObject.labelMargin; + txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; + txtObject.fill = 'white'; + exports.drawText(elem, txtObject); + + //return textElem; +}; + + exports.getTextObj = function(){ var rect = { x: 0, y: 0, + 'fill':'black', 'text-anchor': 'start', style: '#666', width: 100, height: 100, + textMargin:0, rx: 0, ry: 0 }; @@ -16305,6 +16373,7 @@ exports.getNoteRect = function(){ fill: '#EDF2AE', stroke: '#666', width: 100, + anchor:'start', height: 100, rx: 0, ry: 0 @@ -16345,7 +16414,9 @@ var init = function () { // Check if previously processed if(!element.getAttribute("data-processed")) { element.setAttribute("data-processed", true); - } else continue; + } else { + continue; + } var id; @@ -16378,6 +16449,7 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); + //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram utils.cloneCssStyles(element.firstChild, classes); break; @@ -16413,7 +16485,7 @@ if(typeof document !== 'undefined'){ // Check presence of config object if(typeof mermaid_config !== 'undefined'){ // Check if property startOnLoad is set - if(equals(true,mermaid_config.startOnLoad)){ + if(equals(true, mermaid_config.startOnLoad)){ init(); } } diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 0fbb6416a..aa5b07b66 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],V=[1,92],M=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:M,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){this.updateVal(r.bounds.data,"startx",e,Math.min),this.updateVal(r.bounds.data,"starty",t,Math.min),this.updateVal(r.bounds.data,"stopx",n,Math.max),this.updateVal(r.bounds.data,"stopy",i,Math.max),this.updateLoops(e,t,n,i)},newLoop:function(){this.list.push({startx:void 0,starty:void 0,stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339999")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.getTextObj=function(){var e={x:0,y:0,"text-anchor":"start",style:"#666",width:100,height:100,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d); -break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339933")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#339933",n.stroke="none";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}; +return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index fa24d9fed..23babb9d2 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -12972,8 +12972,11 @@ module.exports={ "version": "0.2.16", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", + "bin": { + "mermaid": "./bin/mermaid.js" + }, "scripts": { - "test": "gulp coverage" + "test": "gulp test" }, "repository": { "type": "git", @@ -12982,11 +12985,18 @@ module.exports={ "author": "", "license": "MIT", "dependencies": { + "chalk": "^0.5.1", + "dagre-d3": "~0.3.2", "he": "^0.5.0", - "dagre-d3": "~0.3.2" + "minimist": "^1.1.0", + "mkdirp": "^0.5.0", + "semver": "^4.1.1", + "which": "^1.0.8" }, "devDependencies": { + "async": "^0.9.0", "browserify": "~6.2.0", + "clone": "^0.2.0", "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", @@ -13023,7 +13033,9 @@ module.exports={ "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", - "rewire": "^2.1.3" + "rewire": "^2.1.3", + "rimraf": "^2.2.8", + "tape": "^3.0.3" } } @@ -15714,44 +15726,48 @@ case 4:return 10; break; case 5:return 16; break; -case 6:return 18; +case 6:return 16; break; -case 7:return 24; +case 7:return 16; break; -case 8:return 25; +case 8:return 18; break; -case 9:return 21; +case 9:return 24; break; -case 10:return 19; +case 10:return 25; break; -case 11:return 14; +case 11:return 21; break; -case 12:return 4; +case 12:return 19; break; -case 13:return 23; +case 13:return 14; break; -case 14:return 17; +case 14:return 4; break; -case 15:return 30; +case 15:return 23; break; -case 16:return 29; +case 16:return 17; break; -case 17:return 32; +case 17:return 30; break; -case 18:return 31; +case 18:return 29; break; -case 19:return 33; +case 19:return 32; break; -case 20:return 'CMT'; +case 20:return 31; break; -case 21:return 6; +case 21:return 33; break; -case 22:return 'INVALID'; +case 22:return 'CMT'; +break; +case 23:return 6; +break; +case 24:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15875,6 +15891,7 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, + boxTextMargin:15, noteMargin:10, // Space between messages @@ -15929,15 +15946,23 @@ exports.bounds = { }, insert:function(startx,starty,stopx,stopy){ - this.updateVal(exports.bounds.data,'startx',startx,Math.min); - this.updateVal(exports.bounds.data,'starty',starty,Math.min); - this.updateVal(exports.bounds.data,'stopx' ,stopx ,Math.max); - this.updateVal(exports.bounds.data,'stopy' ,stopy ,Math.max); + var _startx, _starty, _stopx, _stopy; + + _startx = Math.min(startx,stopx); + _stopx = Math.max(startx,stopx); + _starty = Math.min(starty,stopy); + _stopy = Math.max(starty,stopy); + + this.updateVal(exports.bounds.data,'startx',_startx,Math.min); + this.updateVal(exports.bounds.data,'starty',_starty,Math.min); + this.updateVal(exports.bounds.data,'stopx' ,_stopx ,Math.max); + this.updateVal(exports.bounds.data,'stopy' ,_stopy ,Math.max); + + this.updateLoops(_startx,_starty,_stopx,_stopy); - this.updateLoops(startx,starty,stopx,stopy); }, - newLoop:function(){ - this.list.push({startx:undefined,starty:undefined,stopx:undefined,stopy:undefined}); + newLoop:function(title){ + this.list.push({startx:undefined,starty:this.verticalPos,stopx:undefined,stopy:undefined, title:title}); }, endLoop:function(){ var loop = this.list.pop(); @@ -15984,12 +16009,13 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.insert(startx, verticalPos, startx + conf.width, verticalPos + 2*conf.noteMargin + textHeight); rectElem.attr('height',textHeight+ 2*conf.noteMargin); + exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; /** * Draws an actor in the diagram with the attaced line * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors + * @param pos The position if the actor in the list of actors * @param description The text in the box */ exports.drawLoop = function(elem,bounds){ @@ -16001,14 +16027,31 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339999"); + .attr("stroke", "#339933"); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + + var txt = svgDraw.getTextObj(); + txt.text = "Loop"; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + + svgDraw.drawLabel(g,txt); + + txt = svgDraw.getTextObj(); + txt.text = bounds.title; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + + svgDraw.drawText(g,txt); }; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ @@ -16036,6 +16079,7 @@ var insertArrowHead = function(elem){ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + //Make an SVG Container //Draw the line if(msg.type !== 2) { @@ -16069,8 +16113,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ .attr("y", verticalPos - 10) .style("text-anchor", "middle") .text(msg.message); - - //console.log('Setting message bounds'); exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } else{ @@ -16176,6 +16218,7 @@ module.exports.draw = function (text, id) { switch(msg.type){ case sq.yy.LINETYPE.NOTE: exports.bounds.bumpVerticalPos(conf.boxMargin); + startx = actors[msg.from].x; stopx = actors[msg.to].x; @@ -16189,14 +16232,15 @@ module.exports.draw = function (text, id) { } break; case sq.yy.LINETYPE.LOOP_START: - //var loop = exports.bounds.newLoop(); - exports.bounds.newLoop(); + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); break; case sq.yy.LINETYPE.LOOP_END: var loopData = exports.bounds.endLoop(); - //var loopData = loopList.pop(); - //loopData.stopy = exports.bounds.getVerticalPos(); + exports.drawLoop(diagram, loopData); + exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: exports.bounds.bumpVerticalPos(conf.messageMargin); @@ -16240,7 +16284,8 @@ exports.drawText = function(elem , textData){ var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); - textElem.style('text-anchor', 'start'); + textElem.style('text-anchor', textData.anchor); + textElem.style('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -16252,14 +16297,37 @@ exports.drawText = function(elem , textData){ return textElem; }; +exports.drawLabel = function(elem , txtObject){ + var rectData = exports.getNoteRect(); + rectData.x = txtObject.x; + rectData.y = txtObject.y; + rectData.width = 50; + rectData.height = 20; + rectData.fill = '#339933'; + rectData.stroke = 'none'; + //rectData.color = 'white'; + + var label = exports.drawRect(elem, rectData); + + txtObject.y = txtObject.y + txtObject.labelMargin; + txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; + txtObject.fill = 'white'; + exports.drawText(elem, txtObject); + + //return textElem; +}; + + exports.getTextObj = function(){ var rect = { x: 0, y: 0, + 'fill':'black', 'text-anchor': 'start', style: '#666', width: 100, height: 100, + textMargin:0, rx: 0, ry: 0 }; @@ -16273,6 +16341,7 @@ exports.getNoteRect = function(){ fill: '#EDF2AE', stroke: '#666', width: 100, + anchor:'start', height: 100, rx: 0, ry: 0 @@ -16313,7 +16382,9 @@ var init = function () { // Check if previously processed if(!element.getAttribute("data-processed")) { element.setAttribute("data-processed", true); - } else continue; + } else { + continue; + } var id; @@ -16346,6 +16417,7 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); + //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram utils.cloneCssStyles(element.firstChild, classes); break; @@ -16381,7 +16453,7 @@ if(typeof document !== 'undefined'){ // Check presence of config object if(typeof mermaid_config !== 'undefined'){ // Check if property startOnLoad is set - if(equals(true,mermaid_config.startOnLoad)){ + if(equals(true, mermaid_config.startOnLoad)){ init(); } } diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 892cd013b..4b756b041 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},U,v(n,j),A.pick(n,V)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],U={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Ur(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Mr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Un||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",U="[object Date]",V="[object Function]",M="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[V]=!1,z[O]=z[P]=z[j]=z[U]=z[M]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",scripts:{test:"gulp coverage"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{he:"^0.5.0","dagre-d3":"~0.3.2"},devDependencies:{browserify:"~6.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],U=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(U,[2,44],{43:47,41:87,57:k,58:C}),t(U,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(U,[2,42]),t(U,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=M,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],U=[1,91],V=[1,92],M=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:U,37:V,39:101,40:M,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:M,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:M,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:M,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 18;case 7:return 24;case 8:return 25;case 9:return 21;case 10:return 19;case 11:return 14;case 12:return 4;case 13:return 23;case 14:return 17;case 15:return 30;case 16:return 29;case 17:return 32;case 18:return 31;case 19:return 33;case 20:return"CMT";case 21:return 6;case 22:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){this.updateVal(r.bounds.data,"startx",e,Math.min),this.updateVal(r.bounds.data,"starty",t,Math.min),this.updateVal(r.bounds.data,"stopx",n,Math.max),this.updateVal(r.bounds.data,"stopy",i,Math.max),this.updateLoops(e,t,n,i)},newLoop:function(){this.list.push({startx:void 0,starty:void 0,stopx:void 0,stopy:void 0})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339999")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.getTextObj=function(){var e={x:0,y:0,"text-anchor":"start",style:"#666",width:100,height:100,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d); -break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339933")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#339933",n.stroke="none";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}; +return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index de50f3bff..7da52d4e2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -37,6 +37,7 @@ gulp.task('jison2', function() { }); gulp.task('dist', ['slimDist', 'fullDist','jasmine']); +gulp.task('rdist', ['slimDist', 'fullDist']); var jasmine = require('gulp-jasmine'); @@ -166,3 +167,5 @@ gulp.task('lint', function() { .pipe(jshint()) .pipe(jshint.reporter(stylish)); }); + +gulp.task('test',['coverage','tape']); diff --git a/package.json b/package.json index 8df079cb0..f31b3547b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "mermaid": "./bin/mermaid.js" }, "scripts": { - "test": "gulp coverage" + "test": "gulp test" }, "repository": { "type": "git", diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index 4485e5306..1c9c62483 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -19,6 +19,8 @@ \%%[^\n]* /* skip comments */ "participant" return 'participant'; "loop" return 'loop'; +"alt" return 'loop'; +"else" return 'loop'; "end" return 'end'; "left of" return 'left_of'; "right of" return 'right_of'; diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js index 3d3934d67..9e4f36f5e 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js @@ -639,44 +639,48 @@ case 4:return 10; break; case 5:return 16; break; -case 6:return 18; +case 6:return 16; break; -case 7:return 24; +case 7:return 16; break; -case 8:return 25; +case 8:return 18; break; -case 9:return 21; +case 9:return 24; break; -case 10:return 19; +case 10:return 25; break; -case 11:return 14; +case 11:return 21; break; -case 12:return 4; +case 12:return 19; break; -case 13:return 23; +case 13:return 14; break; -case 14:return 17; +case 14:return 4; break; -case 15:return 30; +case 15:return 23; break; -case 16:return 29; +case 16:return 17; break; -case 17:return 32; +case 17:return 30; break; -case 18:return 31; +case 18:return 29; break; -case 19:return 33; +case 19:return 32; break; -case 20:return 'CMT'; +case 20:return 31; break; -case 21:return 6; +case 21:return 33; break; -case 22:return 'INVALID'; +case 22:return 'CMT'; +break; +case 23:return 6; +break; +case 24:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); diff --git a/src/main.js b/src/main.js index 6d8590fed..223ce565c 100644 --- a/src/main.js +++ b/src/main.js @@ -29,7 +29,9 @@ var init = function () { // Check if previously processed if(!element.getAttribute("data-processed")) { element.setAttribute("data-processed", true); - } else continue; + } else { + continue; + } var id; @@ -62,6 +64,7 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); + //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram utils.cloneCssStyles(element.firstChild, classes); break; @@ -97,7 +100,7 @@ if(typeof document !== 'undefined'){ // Check presence of config object if(typeof mermaid_config !== 'undefined'){ // Check if property startOnLoad is set - if(equals(true,mermaid_config.startOnLoad)){ + if(equals(true, mermaid_config.startOnLoad)){ init(); } } From 5fc873468d67b8d9c0be3b91c5b8a0a09d5ee2a2 Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 21 Dec 2014 20:59:11 +0100 Subject: [PATCH 19/48] Styling of sequence diagrams from css classes --- dist/mermaid.full.js | 118 ++++++++++-------- dist/mermaid.full.min.js | 14 +-- dist/mermaid.slim.js | 118 ++++++++++-------- dist/mermaid.slim.min.js | 14 +-- .../sequenceDiagram/sequenceRenderer.js | 82 ++++++------ src/diagrams/sequenceDiagram/svgDraw.js | 17 ++- src/main.js | 3 +- src/utils.js | 16 +-- test/web.html | 34 ++++- 9 files changed, 235 insertions(+), 181 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 0670fb030..fb0a774c8 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -16024,6 +16024,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ rect.x = startx; rect.y = verticalPos; rect.width = conf.width; + rect.class = 'note'; var g = elem.append("g"); var rectElem = svgDraw.drawRect(g, rect); @@ -16034,6 +16035,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ textObj.textMargin = conf.noteMargin; textObj.dy = '1em'; textObj.text = msg.message; + textObj.class = 'noteText'; var textElem = svgDraw.drawText(g,textObj); @@ -16059,7 +16061,8 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339933"); + .attr("stroke", "#526e52") + .attr('class','loopLine'); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); @@ -16071,6 +16074,8 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx; txt.y = bounds.starty; txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; svgDraw.drawLabel(g,txt); @@ -16079,6 +16084,7 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; + txt.class = 'loopText'; svgDraw.drawText(g,txt); }; @@ -16114,49 +16120,38 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ //Make an SVG Container //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - } - - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "messageLine1") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); } - else{ - var textElem = g.append("text") - .attr("x", txtCenter) - .attr("y", exports.bounds.getVerticalPos() - 10) - .style("text-anchor", "middle") - .text(msg.message); - var box = textElem[0][0].getBBox(); - - exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "messageLine0") + .attr("marker-end", "url(#arrowhead)"); } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** @@ -16173,6 +16168,7 @@ var drawActor = function(elem, left,description){ .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) + .attr("class", 'actor-line') .attr("stroke-width", '0.5px') .attr("stroke", '#999'); @@ -16183,11 +16179,13 @@ var drawActor = function(elem, left,description){ .attr("stroke", '#666') .attr("width", conf.width) .attr("height", conf.height) + .attr("class", 'actor') .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) + .attr('class','actor') .style("text-anchor", "middle") .text(description) ; @@ -16309,6 +16307,10 @@ exports.drawRect = function(elem , rectData){ rectElem.attr("rx", rectData.rx); rectElem.attr("ry", rectData.ry); + if(typeof rectData.class !== 'undefined'){ + rectElem.attr("class", rectData.class); + } + return rectElem; }; @@ -16317,7 +16319,7 @@ exports.drawText = function(elem , textData){ textElem.attr('x', textData.x); textElem.attr('y', textData.y); textElem.style('text-anchor', textData.anchor); - textElem.style('fill', textData.fill); + textElem.attr('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -16326,6 +16328,10 @@ exports.drawText = function(elem , textData){ span.text(rowText); }); + if(typeof textData.class !== 'undefined'){ + textElem.attr("class", textData.class); + } + return textElem; }; @@ -16335,8 +16341,9 @@ exports.drawLabel = function(elem , txtObject){ rectData.y = txtObject.y; rectData.width = 50; rectData.height = 20; - rectData.fill = '#339933'; + rectData.fill = '#526e52'; rectData.stroke = 'none'; + rectData.class = 'labelBox'; //rectData.color = 'white'; var label = exports.drawRect(elem, rectData); @@ -16351,7 +16358,7 @@ exports.drawLabel = function(elem , txtObject){ exports.getTextObj = function(){ - var rect = { + var txt = { x: 0, y: 0, 'fill':'black', @@ -16363,7 +16370,7 @@ exports.getTextObj = function(){ rx: 0, ry: 0 }; - return rect; + return txt; }; exports.getNoteRect = function(){ @@ -16449,9 +16456,8 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); - //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram - utils.cloneCssStyles(element.firstChild, classes); + utils.cloneCssStyles(element.firstChild, []); break; } @@ -16550,14 +16556,16 @@ module.exports.cloneCssStyles = function(svg, classes){ var sheets = document.styleSheets; for (var i = 0; i < sheets.length; i++) { // Avoid multiple inclusion on pages with multiple graphs - if (sheets[i].title != 'mermaid-svg-internal-css') { + if (sheets[i].title !== 'mermaid-svg-internal-css') { var rules = sheets[i].cssRules; - for (var j = 0; j < rules.length; j++) { - var rule = rules[j]; - if (typeof(rule.style) != "undefined") { - var elems = svg.querySelectorAll(rule.selectorText); - if (elems.length > 0) { - usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + if(rules !== null) { + for (var j = 0; j < rules.length; j++) { + var rule = rules[j]; + if (typeof(rule.style) !== 'undefined') { + var elems = svg.querySelectorAll(rule.selectorText); + if (elems.length > 0) { + usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + } } } } diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index aa5b07b66..0b12d0186 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339933")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#339933",n.stroke="none";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}; -return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Ln(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Lt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Lt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Lt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u=e.append("g"),o=t+(n-t)/2;1===a.type?u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","messageLine1").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","messageLine0").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",o).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; +return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 23babb9d2..cd5266a9c 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15992,6 +15992,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ rect.x = startx; rect.y = verticalPos; rect.width = conf.width; + rect.class = 'note'; var g = elem.append("g"); var rectElem = svgDraw.drawRect(g, rect); @@ -16002,6 +16003,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ textObj.textMargin = conf.noteMargin; textObj.dy = '1em'; textObj.text = msg.message; + textObj.class = 'noteText'; var textElem = svgDraw.drawText(g,textObj); @@ -16027,7 +16029,8 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339933"); + .attr("stroke", "#526e52") + .attr('class','loopLine'); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); @@ -16039,6 +16042,8 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx; txt.y = bounds.starty; txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; svgDraw.drawLabel(g,txt); @@ -16047,6 +16052,7 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; + txt.class = 'loopText'; svgDraw.drawText(g,txt); }; @@ -16082,49 +16088,38 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ //Make an SVG Container //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - } - - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "messageLine1") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); } - else{ - var textElem = g.append("text") - .attr("x", txtCenter) - .attr("y", exports.bounds.getVerticalPos() - 10) - .style("text-anchor", "middle") - .text(msg.message); - var box = textElem[0][0].getBBox(); - - exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "messageLine0") + .attr("marker-end", "url(#arrowhead)"); } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** @@ -16141,6 +16136,7 @@ var drawActor = function(elem, left,description){ .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) + .attr("class", 'actor-line') .attr("stroke-width", '0.5px') .attr("stroke", '#999'); @@ -16151,11 +16147,13 @@ var drawActor = function(elem, left,description){ .attr("stroke", '#666') .attr("width", conf.width) .attr("height", conf.height) + .attr("class", 'actor') .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) + .attr('class','actor') .style("text-anchor", "middle") .text(description) ; @@ -16277,6 +16275,10 @@ exports.drawRect = function(elem , rectData){ rectElem.attr("rx", rectData.rx); rectElem.attr("ry", rectData.ry); + if(typeof rectData.class !== 'undefined'){ + rectElem.attr("class", rectData.class); + } + return rectElem; }; @@ -16285,7 +16287,7 @@ exports.drawText = function(elem , textData){ textElem.attr('x', textData.x); textElem.attr('y', textData.y); textElem.style('text-anchor', textData.anchor); - textElem.style('fill', textData.fill); + textElem.attr('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -16294,6 +16296,10 @@ exports.drawText = function(elem , textData){ span.text(rowText); }); + if(typeof textData.class !== 'undefined'){ + textElem.attr("class", textData.class); + } + return textElem; }; @@ -16303,8 +16309,9 @@ exports.drawLabel = function(elem , txtObject){ rectData.y = txtObject.y; rectData.width = 50; rectData.height = 20; - rectData.fill = '#339933'; + rectData.fill = '#526e52'; rectData.stroke = 'none'; + rectData.class = 'labelBox'; //rectData.color = 'white'; var label = exports.drawRect(elem, rectData); @@ -16319,7 +16326,7 @@ exports.drawLabel = function(elem , txtObject){ exports.getTextObj = function(){ - var rect = { + var txt = { x: 0, y: 0, 'fill':'black', @@ -16331,7 +16338,7 @@ exports.getTextObj = function(){ rx: 0, ry: 0 }; - return rect; + return txt; }; exports.getNoteRect = function(){ @@ -16417,9 +16424,8 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); - //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram - utils.cloneCssStyles(element.firstChild, classes); + utils.cloneCssStyles(element.firstChild, []); break; } @@ -16518,14 +16524,16 @@ module.exports.cloneCssStyles = function(svg, classes){ var sheets = document.styleSheets; for (var i = 0; i < sheets.length; i++) { // Avoid multiple inclusion on pages with multiple graphs - if (sheets[i].title != 'mermaid-svg-internal-css') { + if (sheets[i].title !== 'mermaid-svg-internal-css') { var rules = sheets[i].cssRules; - for (var j = 0; j < rules.length; j++) { - var rule = rules[j]; - if (typeof(rule.style) != "undefined") { - var elems = svg.querySelectorAll(rule.selectorText); - if (elems.length > 0) { - usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + if(rules !== null) { + for (var j = 0; j < rules.length; j++) { + var rule = rules[j]; + if (typeof(rule.style) !== 'undefined') { + var elems = svg.querySelectorAll(rule.selectorText); + if (elems.length > 0) { + usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + } } } } diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 4b756b041..7aab0d00b 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?N.time:N.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(N.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new T({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};N.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(N.intersectRect(u,r)),i.points.push(N.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=N.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){N.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),N=e("./util"),T=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var N=function(e){return e.replace(d,function(e){return p[e]})},T={version:"0.5.0",encode:S,decode:L,escape:N,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return T});else if(i&&!i.nodeType)if(u)u.exports=T;else for(var q in T)_(T,q)&&(i[q]=T[q]);else n.he=T}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Sn(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||St(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:St(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&St(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||N,d="__p += '",p=wn((n.escape||N).source+"|"+h.source+"|"+(h===S?C:N).source+"|"+(n.evaluate||N).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),N=/($^)/,T=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],N=[1,67],T=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:N,51:T,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],N=[1,111],T=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:N,12:T,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:N,12:T,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:N,12:T,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:N,12:T,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:N,12:T,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:T,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:N,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:N,12:T,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:N,12:T,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width;var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message;var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#339933")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a=e.append("g"),o=t+(n-t)/2;if(2!==u.type)1===u.type?a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","link").attr("marker-end","url(#arrowhead)"):a.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","link").attr("marker-end","url(#arrowhead)"),a.append("text").attr("x",o).attr("y",i-10).style("text-anchor","middle").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());else{var s=a.append("text").attr("x",o).attr("y",r.bounds.getVerticalPos()-10).style("text-anchor","middle").text(u.message),c=s[0][0].getBBox();r.bounds.insert(c.x,r.bounds.getVerticalPos()-10,c.x+c.width,r.bounds.getVerticalPos()-10+c.height)}},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#339933",n.stroke="none";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}; -return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,d)}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Ln(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Lt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Lt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Lt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u=e.append("g"),o=t+(n-t)/2;1===a.type?u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","messageLine1").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","messageLine0").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",o).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; +return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 079ee070a..141e50135 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -119,6 +119,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ rect.x = startx; rect.y = verticalPos; rect.width = conf.width; + rect.class = 'note'; var g = elem.append("g"); var rectElem = svgDraw.drawRect(g, rect); @@ -129,6 +130,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ textObj.textMargin = conf.noteMargin; textObj.dy = '1em'; textObj.text = msg.message; + textObj.class = 'noteText'; var textElem = svgDraw.drawText(g,textObj); @@ -154,7 +156,8 @@ exports.drawLoop = function(elem,bounds){ .attr("x2", stopx ) .attr("y2", stopy ) .attr("stroke-width", 2) - .attr("stroke", "#339933"); + .attr("stroke", "#526e52") + .attr('class','loopLine'); }; drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); @@ -166,6 +169,8 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx; txt.y = bounds.starty; txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; svgDraw.drawLabel(g,txt); @@ -174,6 +179,7 @@ exports.drawLoop = function(elem,bounds){ txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; + txt.class = 'loopText'; svgDraw.drawText(g,txt); }; @@ -209,49 +215,38 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ //Make an SVG Container //Draw the line - if(msg.type !== 2) { - if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); - } - else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "link") - .attr("marker-end", "url(#arrowhead)"); - } - - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 10) - .style("text-anchor", "middle") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); + if (msg.type === 1) { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .style("stroke-dasharray", ("3, 3")) + .attr("class", "messageLine1") + .attr("marker-end", "url(#arrowhead)"); + //.attr("d", diagonal); } - else{ - var textElem = g.append("text") - .attr("x", txtCenter) - .attr("y", exports.bounds.getVerticalPos() - 10) - .style("text-anchor", "middle") - .text(msg.message); - var box = textElem[0][0].getBBox(); - - exports.bounds.insert(box.x, exports.bounds.getVerticalPos() -10, box.x+box.width, exports.bounds.getVerticalPos()-10 + box.height); + else { + g.append("line") + .attr("x1", startx) + .attr("y1", verticalPos) + .attr("x2", stopx) + .attr("y2", verticalPos) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("class", "messageLine0") + .attr("marker-end", "url(#arrowhead)"); } + + g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** @@ -268,6 +263,7 @@ var drawActor = function(elem, left,description){ .attr("y1", 5) .attr("x2", center) .attr("y2", 2000) + .attr("class", 'actor-line') .attr("stroke-width", '0.5px') .attr("stroke", '#999'); @@ -278,11 +274,13 @@ var drawActor = function(elem, left,description){ .attr("stroke", '#666') .attr("width", conf.width) .attr("height", conf.height) + .attr("class", 'actor') .attr("rx", 3) .attr("ry", 3); g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) + .attr('class','actor') .style("text-anchor", "middle") .text(description) ; diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index 545306143..b8bc95403 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -12,6 +12,10 @@ exports.drawRect = function(elem , rectData){ rectElem.attr("rx", rectData.rx); rectElem.attr("ry", rectData.ry); + if(typeof rectData.class !== 'undefined'){ + rectElem.attr("class", rectData.class); + } + return rectElem; }; @@ -20,7 +24,7 @@ exports.drawText = function(elem , textData){ textElem.attr('x', textData.x); textElem.attr('y', textData.y); textElem.style('text-anchor', textData.anchor); - textElem.style('fill', textData.fill); + textElem.attr('fill', textData.fill); textData.text.split('
').forEach(function(rowText){ var span = textElem.append('tspan'); @@ -29,6 +33,10 @@ exports.drawText = function(elem , textData){ span.text(rowText); }); + if(typeof textData.class !== 'undefined'){ + textElem.attr("class", textData.class); + } + return textElem; }; @@ -38,8 +46,9 @@ exports.drawLabel = function(elem , txtObject){ rectData.y = txtObject.y; rectData.width = 50; rectData.height = 20; - rectData.fill = '#339933'; + rectData.fill = '#526e52'; rectData.stroke = 'none'; + rectData.class = 'labelBox'; //rectData.color = 'white'; var label = exports.drawRect(elem, rectData); @@ -54,7 +63,7 @@ exports.drawLabel = function(elem , txtObject){ exports.getTextObj = function(){ - var rect = { + var txt = { x: 0, y: 0, 'fill':'black', @@ -66,7 +75,7 @@ exports.getTextObj = function(){ rx: 0, ry: 0 }; - return rect; + return txt; }; exports.getNoteRect = function(){ diff --git a/src/main.js b/src/main.js index 223ce565c..60c7c456a 100644 --- a/src/main.js +++ b/src/main.js @@ -64,9 +64,8 @@ var init = function () { break; case 'sequenceDiagram': seq.draw(txt,id); - //classes = flowRenderer.getClasses(txt, true); // TODO - Get styles for sequence diagram - utils.cloneCssStyles(element.firstChild, classes); + utils.cloneCssStyles(element.firstChild, []); break; } diff --git a/src/utils.js b/src/utils.js index 37cce8abc..e47759c6c 100644 --- a/src/utils.js +++ b/src/utils.js @@ -37,14 +37,16 @@ module.exports.cloneCssStyles = function(svg, classes){ var sheets = document.styleSheets; for (var i = 0; i < sheets.length; i++) { // Avoid multiple inclusion on pages with multiple graphs - if (sheets[i].title != 'mermaid-svg-internal-css') { + if (sheets[i].title !== 'mermaid-svg-internal-css') { var rules = sheets[i].cssRules; - for (var j = 0; j < rules.length; j++) { - var rule = rules[j]; - if (typeof(rule.style) != "undefined") { - var elems = svg.querySelectorAll(rule.selectorText); - if (elems.length > 0) { - usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + if(rules !== null) { + for (var j = 0; j < rules.length; j++) { + var rule = rules[j]; + if (typeof(rule.style) !== 'undefined') { + var elems = svg.querySelectorAll(rule.selectorText); + if (elems.length > 0) { + usedStyles += rule.selectorText + " { " + rule.style.cssText + " }\n"; + } } } } diff --git a/test/web.html b/test/web.html index 9bf860ec7..d99107ed8 100644 --- a/test/web.html +++ b/test/web.html @@ -28,6 +28,7 @@ %% Comments after double percent signs di-->ro2(Rounded square shape); e((Inner circle))-->f(,.?!+-*ز); + A[Object]-->B(Thing); style e red; @@ -41,26 +42,55 @@ %% Comments after double percent signs e((Inner / circle))-->f(,.?!+-*ز); cyr[Cyrillic]-->cyr2((Circle shape Начало)); + A[Object foo,bar]-->B(Thing); style e red;
+
+ graph LR; + A(Central Message Router); + B(R TD); + C(XYZ); + D(S Writer); + A-->|R TD Router|B; + B-->C; + C-->|XYZ Router|D; +

Sequence diagrams (experimental)

         sequenceDiagram
+        participant John the Long
         Alice->Bob: Hello Bob, how are you?
-        Note right of Bob: Bob thinks
+        Note left of Bob: Bob thinks
         Bob-->Alice: I am good thanks!
         Bob-->John the Long: How about you John?
+        Note left of John the Long: Bob thinks
         Bob-->Alice: Checking with John...
+
+        loop Multiple status checks
+        loog Naging
         Alice->John the Long: Yes... John, how are you?
+        end
         John the Long-->Alice: Better then you!
+        end
     
sequenceDiagram + participant Alice + Note left of Alice: Bob thinks about
things
to think about +
+
+ sequenceDiagram + participant Alice + participant Bob + participant John the Long Alice->Bob: Hello Bob, how are you? - Note left of Bob: Bob thinks about
things
to think about + Note left of Alice: Bob thinks about
things
to think about Bob-->Alice: I am good thanks! + loop Multiple status checks Bob-->John the Long: How about you John? + Note right of John the Long: Bob thinks + end Bob-->Alice: Checking with John... Alice->John the Long: Yes... John, how are you? From c3eb62255fc86c8d877f5f016fbd6f7e316acd6f Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 22 Dec 2014 08:11:49 +0100 Subject: [PATCH 20/48] Support for backslash in nodes --- src/diagrams/flowchart/parser/flow.jison | 2 +- src/diagrams/flowchart/parser/flow.js | 2 +- src/diagrams/flowchart/parser/flow.spec.js | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index 6f656d31e..f13dca2d5 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -36,7 +36,7 @@ \+ return 'PLUS'; \% return 'PCT'; \= return 'EQUALS'; -[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| +[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| [\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| [\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]| [\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]| diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index f9c01ee7c..76e7209ce 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -770,7 +770,7 @@ case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], 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,42,43],"inclusive":true}} }); return lexer; diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index e199b9322..04946e742 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -480,6 +480,13 @@ describe('when parsing ',function(){ expect(vert['C'].text).toBe('Начало'); }); + it('should handle text in vertices with backslask',function(){ + var res = flow.parser.parse('graph TD;A-->C(c:\\windows);'); + + var vert = flow.parser.yy.getVertices(); + + expect(vert['C'].text).toBe('c:\\windows'); + }); it('should handle text in vertices with CAPS',function(){ var res = flow.parser.parse('graph TD;A-->C(some CAPS);'); From 0af92a16268d9bd3c86543f458e389baab25bdbb Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 22 Dec 2014 09:07:28 +0100 Subject: [PATCH 21/48] Support messages to self in sequence diagrams --- dist/mermaid.full.js | 44 ++++++++++--------- dist/mermaid.full.min.js | 14 +++--- dist/mermaid.slim.js | 44 ++++++++++--------- dist/mermaid.slim.min.js | 14 +++--- .../sequenceDiagram/sequenceRenderer.js | 42 +++++++++--------- 5 files changed, 82 insertions(+), 76 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index fb0a774c8..f220bb077 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -15084,7 +15084,7 @@ case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], 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,42,43],"inclusive":true}} }); return lexer; @@ -16118,33 +16118,35 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var line; + + if(startx===stopx){ + line = g.append("path") + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + + exports.bounds.bumpVerticalPos(30); + }else{ + line = g.append("line"); + line.attr("x1", startx) + line.attr("y1", verticalPos); + line.attr("x2", stopx); + line.attr("y2", verticalPos); + } //Make an SVG Container //Draw the line if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "messageLine1") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); + line.style("stroke-dasharray", ("3, 3")); + line.attr("class", "messageLine1"); } else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "messageLine0") - .attr("marker-end", "url(#arrowhead)"); + line.attr("class", "messageLine0"); } + line.attr("stroke-width", 2); + line.attr("stroke", "black"); + line.style("fill", "none"); // remove any fill colour + line.attr("marker-end", "url(#arrowhead)"); + g.append("text") // text label for the x axis .attr("x", txtCenter) .attr("y", verticalPos - 7) diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 0b12d0186..c09db0458 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Ln(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Lt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Lt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Lt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u=e.append("g"),o=t+(n-t)/2;1===a.type?u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","messageLine1").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","messageLine0").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",o).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; -return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2;t===n?(a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30)):(a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i)),1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)"),o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; +return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index cd5266a9c..00067d33c 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15052,7 +15052,7 @@ case 43:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], 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,42,43],"inclusive":true}} }); return lexer; @@ -16086,33 +16086,35 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var line; + + if(startx===stopx){ + line = g.append("path") + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + + exports.bounds.bumpVerticalPos(30); + }else{ + line = g.append("line"); + line.attr("x1", startx) + line.attr("y1", verticalPos); + line.attr("x2", stopx); + line.attr("y2", verticalPos); + } //Make an SVG Container //Draw the line if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "messageLine1") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); + line.style("stroke-dasharray", ("3, 3")); + line.attr("class", "messageLine1"); } else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "messageLine0") - .attr("marker-end", "url(#arrowhead)"); + line.attr("class", "messageLine0"); } + line.attr("stroke-width", 2); + line.attr("stroke", "black"); + line.style("fill", "none"); // remove any fill colour + line.attr("marker-end", "url(#arrowhead)"); + g.append("text") // text label for the x axis .attr("x", txtCenter) .attr("y", verticalPos - 7) diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 7aab0d00b..faaed1cdf 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Ln(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Lt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Lt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Lt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u=e.append("g"),o=t+(n-t)/2;1===a.type?u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").style("stroke-dasharray","3, 3").attr("class","messageLine1").attr("marker-end","url(#arrowhead)"):u.append("line").attr("x1",t).attr("y1",i).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","black").attr("class","messageLine0").attr("marker-end","url(#arrowhead)"),u.append("text").attr("x",o).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; -return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; +return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2;t===n?(a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30)):(a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i)),1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)"),o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; +return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 141e50135..b43484a88 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -213,33 +213,35 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var line; + + if(startx===stopx){ + line = g.append("path") + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + + exports.bounds.bumpVerticalPos(30); + }else{ + line = g.append("line"); + line.attr("x1", startx) + line.attr("y1", verticalPos); + line.attr("x2", stopx); + line.attr("y2", verticalPos); + } //Make an SVG Container //Draw the line if (msg.type === 1) { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .style("stroke-dasharray", ("3, 3")) - .attr("class", "messageLine1") - .attr("marker-end", "url(#arrowhead)"); - //.attr("d", diagonal); + line.style("stroke-dasharray", ("3, 3")); + line.attr("class", "messageLine1"); } else { - g.append("line") - .attr("x1", startx) - .attr("y1", verticalPos) - .attr("x2", stopx) - .attr("y2", verticalPos) - .attr("stroke-width", 2) - .attr("stroke", "black") - .attr("class", "messageLine0") - .attr("marker-end", "url(#arrowhead)"); + line.attr("class", "messageLine0"); } + line.attr("stroke-width", 2); + line.attr("stroke", "black"); + line.style("fill", "none"); // remove any fill colour + line.attr("marker-end", "url(#arrowhead)"); + g.append("text") // text label for the x axis .attr("x", txtCenter) .attr("y", verticalPos - 7) From d4b35b5594f3a3d42e2e128862cb97c2e9ab50e0 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 22 Dec 2014 13:22:45 +0100 Subject: [PATCH 22/48] Update README.md Added an image example of a sequence diagram --- README.md | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ba5ceea80..e6431c498 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,46 @@ Ever wanted to simplify documentation and avoid heavy tools like Visio when expl This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. The code below would render the following image - -``` + + + + + + + + + +
+
 graph TD;
     A-->B;
     A-->C;
     B-->D;
     C-->D;
-```
-
+
+
would render this lovely chart: -![Example 1](http://www.sveido.com/mermaid/img/ex1.png) +Example 1 +
+
+sequenceDiagram
+    participant Alice
+    participant Bob
+    Alice->John: Hello John, how are you?
+    loop Healthcheck
+        John->John: Fight against hypochondria
+    end
+    Note right of John: Rational thoughts <br/>prevail...
+    John-->Alice: Great!
+    John->Bob: How about you?
+    Bob-->John: Jolly good!
+
+
+would render this lovely chart: + +Example 2 +
A page with a live example can be seen [here](http://www.sveido.com/mermaid/demo/html/web.html). You can also look at mermaid in action using [jsbin](http://jsbin.com/faxunexeku/1/edit?html,output). If you want a live demo, there is an editor provided in the mermaid project or you can simply look at this [great editor](http://danielmschmidt.github.io/mermaid-demo/) From 9a8d7a8c5711b80ed373aa2d441afaf0833733f5 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 22 Dec 2014 13:47:21 +0100 Subject: [PATCH 23/48] Handling of min size of messages to self --- README.md | 7 +++-- dist/mermaid.full.js | 28 +++++++++++-------- dist/mermaid.full.min.js | 4 +-- dist/mermaid.slim.js | 28 +++++++++++-------- dist/mermaid.slim.min.js | 4 +-- .../sequenceDiagram/sequenceRenderer.js | 28 +++++++++++-------- 6 files changed, 60 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index ba5ceea80..9f65b32fb 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,17 @@ Ever wanted to simplify documentation and avoid heavy tools like Visio when expl This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. The code below would render the following image - -``` + + +
+|``` graph TD; A-->B; A-->C; B-->D; C-->D; ``` +
would render this lovely chart: diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index f220bb077..cf0e4334e 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -15923,11 +15923,11 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, - boxTextMargin:15, + boxTextMargin:5, noteMargin:10, // Space between messages - messageMargin:40 + messageMargin:35 }; exports.bounds = { @@ -16118,19 +16118,32 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var textElem = g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + + var textWidth = textElem[0][0].getBBox().width; + var line; if(startx===stopx){ line = g.append("path") - .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ',' + + (verticalPos+30)+' ' +startx+ ','+(verticalPos+20)); exports.bounds.bumpVerticalPos(30); + var dx = Math.max(textWidth/2,100); + exports.bounds.insert(startx-dx, exports.bounds.getVerticalPos() -10, stopx+dx, exports.bounds.getVerticalPos()); }else{ line = g.append("line"); - line.attr("x1", startx) + line.attr("x1", startx); line.attr("y1", verticalPos); line.attr("x2", stopx); line.attr("y2", verticalPos); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } //Make an SVG Container //Draw the line @@ -16147,13 +16160,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.style("fill", "none"); // remove any fill colour line.attr("marker-end", "url(#arrowhead)"); - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 7) - .style("text-anchor", "middle") - .attr("class", "messageText") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index c09db0458..6c5946966 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -35,5 +35,5 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2;t===n?(a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30)):(a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i)),1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)"),o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; -return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; +r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 00067d33c..581eb709c 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15891,11 +15891,11 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, - boxTextMargin:15, + boxTextMargin:5, noteMargin:10, // Space between messages - messageMargin:40 + messageMargin:35 }; exports.bounds = { @@ -16086,19 +16086,32 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var textElem = g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + + var textWidth = textElem[0][0].getBBox().width; + var line; if(startx===stopx){ line = g.append("path") - .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ',' + + (verticalPos+30)+' ' +startx+ ','+(verticalPos+20)); exports.bounds.bumpVerticalPos(30); + var dx = Math.max(textWidth/2,100); + exports.bounds.insert(startx-dx, exports.bounds.getVerticalPos() -10, stopx+dx, exports.bounds.getVerticalPos()); }else{ line = g.append("line"); - line.attr("x1", startx) + line.attr("x1", startx); line.attr("y1", verticalPos); line.attr("x2", stopx); line.attr("y2", verticalPos); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } //Make an SVG Container //Draw the line @@ -16115,13 +16128,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.style("fill", "none"); // remove any fill colour line.attr("marker-end", "url(#arrowhead)"); - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 7) - .style("text-anchor", "middle") - .attr("class", "messageText") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index faaed1cdf..3d42fd0d1 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -3,5 +3,5 @@ return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:15,noteMargin:10,messageMargin:40};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2;t===n?(a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30)):(a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i)),1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)"),o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos())},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}; -return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; +r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index b43484a88..518f9267d 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -18,11 +18,11 @@ var conf = { height:65, // Margin around loop boxes boxMargin:10, - boxTextMargin:15, + boxTextMargin:5, noteMargin:10, // Space between messages - messageMargin:40 + messageMargin:35 }; exports.bounds = { @@ -213,19 +213,32 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ var g = elem.append("g"); var txtCenter = startx + (stopx-startx)/2; + var textElem = g.append("text") // text label for the x axis + .attr("x", txtCenter) + .attr("y", verticalPos - 7) + .style("text-anchor", "middle") + .attr("class", "messageText") + .text(msg.message); + + var textWidth = textElem[0][0].getBBox().width; + var line; if(startx===stopx){ line = g.append("path") - .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ','+(verticalPos+30)+' ' +startx+ ','+(verticalPos+20)) + .attr('d', 'M ' +startx+ ','+verticalPos+' C ' +(startx+60)+ ','+(verticalPos-10)+' ' +(startx+60)+ ',' + + (verticalPos+30)+' ' +startx+ ','+(verticalPos+20)); exports.bounds.bumpVerticalPos(30); + var dx = Math.max(textWidth/2,100); + exports.bounds.insert(startx-dx, exports.bounds.getVerticalPos() -10, stopx+dx, exports.bounds.getVerticalPos()); }else{ line = g.append("line"); - line.attr("x1", startx) + line.attr("x1", startx); line.attr("y1", verticalPos); line.attr("x2", stopx); line.attr("y2", verticalPos); + exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); } //Make an SVG Container //Draw the line @@ -242,13 +255,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.style("fill", "none"); // remove any fill colour line.attr("marker-end", "url(#arrowhead)"); - g.append("text") // text label for the x axis - .attr("x", txtCenter) - .attr("y", verticalPos - 7) - .style("text-anchor", "middle") - .attr("class", "messageText") - .text(msg.message); - exports.bounds.insert(startx, exports.bounds.getVerticalPos() -10, stopx, exports.bounds.getVerticalPos()); }; /** From 96b12e876ea2039f00fea523c457db1b46dfe35f Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 22 Dec 2014 13:49:38 +0100 Subject: [PATCH 24/48] New release --- bower.json | 2 +- dist/mermaid.full.js | 2 +- dist/mermaid.full.min.js | 2 +- dist/mermaid.slim.js | 2 +- dist/mermaid.slim.min.js | 2 +- package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bower.json b/bower.json index 183ee91a5..93283f92c 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.2.16", + "version": "0.3.0", "authors": [ "knsv " ], diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index cf0e4334e..66eccab9b 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13001,7 +13001,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.2.16", + "version": "0.3.0", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 6c5946966..91e9b418b 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -33,7 +33,7 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli !function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 581eb709c..094692ee0 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -12969,7 +12969,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.2.16", + "version": "0.3.0", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 3d42fd0d1..76728aef9 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ !function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.2.16",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/package.json b/package.json index f31b3547b..c614cd8db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.2.16", + "version": "0.3.0", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { From 83d9a3269e768a0d1abb3c36f83b08dd5e93d125 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 22 Dec 2014 13:58:30 +0100 Subject: [PATCH 25/48] Merge branch 'master' of https://github.com/knsv/mermaid Conflicts: README.md --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 7c9d7b019..c427f34b7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ bower_components/ *.sublime-project *.sublime-workspace .DS_Store +.idea +coverage \ No newline at end of file From 385e823c17f57018cc947b33b3fc2fbd906578b3 Mon Sep 17 00:00:00 2001 From: knsv Date: Tue, 23 Dec 2014 18:06:07 +0100 Subject: [PATCH 26/48] Fix for issue #70 --- dist/mermaid.full.js | 2 ++ dist/mermaid.full.min.js | 14 +++++++------- dist/mermaid.slim.js | 2 ++ dist/mermaid.slim.min.js | 14 +++++++------- src/diagrams/flowchart/flowRenderer.js | 2 ++ 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 66eccab9b..00eba8758 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13358,10 +13358,12 @@ exports.draw = function (text, id,isDot) { // Run the renderer. This is what draws the final graph. render(d3.select("#" + id + " g"), g); + var svgb = document.querySelector('#mermaidChart0'); // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); + svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); }; },{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){ /** diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 91e9b418b..2c72f9452 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; -r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:L,escape:T,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===S?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),l=c[0][0].getBBox().width;if(t===n){u=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else u=o.append("line"),u.attr("x1",t),u.attr("y1",i),u.attr("x2",n),u.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===a.type?(u.style("stroke-dasharray","3, 3"),u.attr("class","messageLine1")):u.attr("class","messageLine0"),u.attr("stroke-width",2),u.attr("stroke","black"),u.style("fill","none"),u.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; +r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 094692ee0..2f8935012 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -13326,10 +13326,12 @@ exports.draw = function (text, id,isDot) { // Run the renderer. This is what draws the final graph. render(d3.select("#" + id + " g"), g); + var svgb = document.querySelector('#mermaidChart0'); // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); + svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); }; },{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){ /** diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 76728aef9..7d2cfa87e 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var s="function"==typeof require&&require;if(!o&&s)return s(a,!0);if(u)return u(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var u="function"==typeof require&&require,a=0;am?(m-y)/g:(m+y)/g,m=a*c-u*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,u=e.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=u-e.height/2-s,h=0;h1&&a.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,u=Math.sqrt(n*n+i*i),a=t.x-r.x,o=t.y-r.y,s=Math.sqrt(a*a+o*o);return s>u?-1:u===s?0:1}),a[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,u=e.y,a=t.x-i,o=t.y-u,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(a)*c?(0>o&&(c=-c),r=0===o?0:c*a/o,n=c):(0>a&&(s=-s),r=s,n=0===a?0:s*o/a),{x:i+r,y:u+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),u=t.label;switch(typeof u){case"function":i.insert(u);break;case"object":i.insert(function(){return u});break;default:i.html(u)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a,o;return i.each(function(){a=this.clientWidth,o=this.clientHeight}),r.attr("width",a).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,u=e.append("g");"string"!=typeof r||"html"===t.labelType?i(u,t):n(u,t);var a=u.node().getBBox();return u.attr("transform","translate("+-a.width/2+","+-a.height/2+")"),u}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),u=n(t.label).split("\n"),a=0;ao;++o)n(e,"borderLeft","_bl",r,a,o),n(e,"borderRight","_br",r,a,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,a){var o={width:0,height:0,rank:a},s=i[t][a-1],c=u.addDummyNode(e,"border",o,r);i[t][a]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),u=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&a(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){u(e.node(t))}),l.each(e.edges(),function(t){u(e.edge(t))})}function u(e){var t=e.width;e.width=e.height,e.height=t}function a(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new u({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),u=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=u(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,u=[],a=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=a.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){u=u.concat(i(e,t,r,n,!0));break}}return u}function i(e,t,r,n,i){var u=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&u.push({v:n.v,w:n.w}),s.out-=o,a(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),u=n.w,o=e.node(u);o.in-=i,a(t,r,o)}),e.removeNode(n.v),u}function u(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var u=r.edge(e.v,e.w)||0,a=t(e),o=u+a;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=a),n=Math.max(n,r.node(e.w).in+=a)});var u=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){a(u,l,r.node(e))}),{graph:r,buckets:u,zeroIdx:l}}function a(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return u(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){a(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){L(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function u(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function a(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),u={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",u,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,a=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,a-s/2),u=Math.max(u,a+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,u=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),a.width=n-r+o,a.height=u-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),u=e.node(t.v),a=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=a,n=u),i.points.unshift(T.intersectRect(u,r)),i.points.push(T.intersectRect(a,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),u=e.node(A.last(r.borderLeft)),a=e.node(A.last(r.borderRight));r.width=Math.abs(a.x-u.x),r.height=Math.abs(i.y-n.y),r.x=u.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,u=n.y,a=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:u-o},{x:i+5*a/6,y:u-o},{x:i+a,y:u},{x:i+5*a/6,y:u+o},{x:i+2*a/3,y:u+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),L=e("./order"),S=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),a=o.max(r)-1,c=2*a+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=u(e)+1;o.each(e.children(),function(i){n(e,t,c,l,a,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,u,a,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,u,a,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:u-a[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:u+a[c]})}function i(e){function t(n,i){var u=e.children(n);u&&u.length&&o.each(u,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function u(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:a}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],u.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,u=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(u!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;u>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=a.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){u.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var u=e("./lodash"),a=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,u={};n.each(r,function(r){for(var n,a,o=e.parent(r);o;){if(n=e.parent(o),n?(a=u[n],u[n]=o):(a=i,i=o),a&&a!==o)return void t.setEdge(a,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var a=n(e),o=new u({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var u=e.node(n),s=e.parent(n);(u.rank===t||u.minRank<=t&&t<=u.maxRank)&&(o.setNode(n),o.setParent(n,s||a),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,u=o.edge(r,n),a=i.isUndefined(u)?0:u.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),i.has(u,"minRank")&&o.setNode(n,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),u=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,a.range(1,t+1),"inEdges"),c=n(e,a.range(t-1,-1,-1),"outEdges"),l=o(e);u(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=a.cloneDeep(l),d=y)}u(e,h)}function n(e,t,r){return a.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;a.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);a.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function u(e,t){a.each(t,function(t){a.each(t,function(t,r){e.node(t).order=r})})}var a=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var u=e.node(i);a[u.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),u=n.max(n.map(i,function(t){return e.node(t).rank})),a=n.map(n.range(u+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),a}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};u.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};u.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),u.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];u.isUndefined(t)||u.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=u.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(u.isUndefined(t.barycenter)||u.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var a=e.pop();n.push(a),u.each(a.in.reverse(),t(a)),u.each(a.out,r(a))}return u.chain(n).filter(function(e){return!e.merged}).map(function(e){return u.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var u=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=u.filter(h,function(e){return e!==p&&e!==f}));var y=a(e,h);u.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,u.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=u.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);u.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 -}return v}function n(e,t){u.each(e,function(e){e.vs=u.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){u.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var u=e("../lodash"),a=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=a.partition(e,function(e){return u.has(e,"barycenter")}),o=r.lhs,s=u.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),u.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:u.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=u.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var u=e("../lodash"),a=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);u.each(e.graph().dummyChains,function(r){for(var i=e.node(r),u=i.edgeObj,a=n(e,t,u.v,u.w),o=a.path,s=a.lca,c=0,l=o[c],h=!0;r!==u.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(u=i,i=n;(i=e.parent(i))!==u;)o.push(i);return{path:a.concat(o.reverse()),lca:u}}function i(e){function t(i){var a=n;u.each(e.children(i),t),r[i]={low:a,lim:n++}}var r={},n=0;return u.each(e.children(),t),r}var u=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var a=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(a>o||o>d)||i.dummy&&e.node(t).dummy||u(n,r,t)})}),o=l+1,a=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,a,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&u(i,t,s)})})}function n(t,n){var i,u=-1,a=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,a,s,u,i),a=s,u=i)}r(n,a,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},u={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,u[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];u[e]===e&&ta.lim&&(o=a,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var u=r.v,o=r.w;e.removeEdge(u,o),e.setEdge(i.v,i.w,{}),a(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),u=!1;i||(i=t.edge(n,r),u=!0),t.node(r).rank=t.node(n).rank+(u?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=a,r.initCutValues=n,r.calcCutValue=u,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var u=e.node(n);if(i.has(r,n))return u.rank;r[n]=!0;var a=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return a===Number.POSITIVE_INFINITY&&(a=0),u.rank=a}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,u=t.y-n,a=e.width/2,o=e.height/2;if(!i&&!u)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(u)*a>Math.abs(i)*o?(0>u&&(o=-o),s=o*i/u,c=o):(0>i&&(a=-a),s=a,c=a*u/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var u={width:0,height:0};return arguments.length>=4&&(u.rank=n,u.order=i),r(e,"border",u,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:u,predecessorWeights:a,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(u){n.has(i,u)||(i[u]=!0,r.push(u),n.each(e.successors(u),t),n.each(e.predecessors(u),t))}var r,i={},u=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&u.push(r)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var u=[],a={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,a,u)}),u}function n(e,t,r,u,a){i.has(u,t)||(u[t]=!0,r||a.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,u,a)}),r&&a.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,u){i[u]=n(e,u,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||a,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,a,o={},s=new u,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],u=r(e),c=a.distance+u;if(0>u)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+u);c0&&(i=s.removeMin(),a=o[i],a.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),u=e("../data/priority-queue");t.exports=r;var a=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||u,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,u=t(r);n[e][i]={distance:u,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var u=n[r];i.forEach(function(r){var n=u[e],i=t[r],a=u[r],o=n.distance+i.distance;oi&&(s[r]=a,c.decrease(r,i))}}var a,o=new i,s={},c=new u;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),n.has(s,a))o.setEdge(a,s[a]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(a).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),u=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=u[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(u,e)?u[e].onStack&&(s.lowlink=Math.min(s.lowlink,u[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,u[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),u[c].onStack=!1,l.push(c);while(o!==c);a.push(l)}}var r=0,i=[],u={},a=[];return e.nodes().forEach(function(e){n.has(u,e)||t(e)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(u,o))throw new n;i.has(r,o)||(u[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete u[o],a.push(o))}var r={},u={},a=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return a}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,u=i.length;return r[e]=u,i.push({key:e,priority:t}),this._decrease(u),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=u(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=a(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return a.isUndefined(e.graph())||(t.value=a.clone(e.graph())),t}function n(e){return a.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return a.isUndefined(r)||(i.value=r),a.isUndefined(n)||(i.parent=n),i})}function i(e){return a.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return a.isUndefined(t.name)||(n.name=t.name),a.isUndefined(r)||(n.value=r),n})}function u(e){var t=new o(e.options).setGraph(e.value);return a.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),a.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var a=e("./lodash"),o=e("./graph");t.exports={write:r,read:u}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var u={v:t,w:r};return n&&(u.name=n),u}function o(e,t){return u(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=u(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=a(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):u(this._isDirected,e,t,r),a=this._edgeObjs[n]; -return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;u--){var a=u>=0?arguments[u]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),u="/"===a(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&u&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),u=n(t.split("/")),a=Math.min(i.length,u.length),o=a,s=0;a>s;s++)if(i[s]!==u[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,u="object"==typeof t&&t&&t.exports==i&&t,a="object"==typeof e&&e;(a.global===a||a.window===a)&&(n=a);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},L=function(e,t){t=k(t,L.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,u=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(u||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):u||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,u,a,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):u?(d=u,h=a,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:L,decode:S,escape:T,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(u)u.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function u(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function a(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,u=r.length;++io||"undefined"==typeof a)return 1;if(o>a||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],a=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=u;++ti?0:i);++n=w&&u===n,c=[];if(o){var l=s(t);l?(u=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),u.pop(),v&&(d(i),d(u)),a}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,u){var a,o,s=t,c=e[u];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(a=n[l]==t){c=i[l];break}if(!a){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[u]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var u=-1,a=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&a===n,f=r||h?l():c;if(h){var g=s(f);a=i,f=g}for(;++u3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),u=-1,a=l(),o=l();++ur?Hn(0,u+r):r)||0,Qn(e)?a=i(e,t,r)>-1:"number"==typeof u?a=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(a=e===t):void 0}),a}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var u=-1,a=e?e.length:0;if("number"==typeof a)for(;++uu&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);a>i&&(i=a,u=e)});return u}function tr(e,r,n){var i=1/0,u=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(u=c)}else r=null==r&&It(e)?a:t.createCallback(r,n,3),Kt(e,function(e,t,n){var a=r(e,t,n);i>a&&(i=a,u=e)});return u}function rr(e,r,n,i){if(!e)return n;var u=arguments.length<3;r=t.createCallback(r,i,4);var a=-1,o=e.length;if("number"==typeof o)for(u&&(n=e[++a]);++ar?Hn(0,i+r):r||0}else if(r){var u=kr(e,t);return e[u]===t?u:-1}return n(e,t,r)}function vr(e,r,n){var i=0,u=e?e.length:0;if("number"!=typeof r&&null!=r){var a=u;for(r=t.createCallback(r,n,3);a--&&r(e[a],a,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,u-i),u))}function br(){for(var e=[],t=-1,r=arguments.length,u=l(),a=st(),o=a===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ru;){var o=u+a>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?at(e,17,f(arguments,2),null,t):at(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?at(t,19,f(arguments,2),null,e):at(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,at(e,4,null,null,null,t)}function jr(e,t,r){var n,i,u,a,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Lt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-a);if(0>=r){i&&Ln(i);var h=c;i=s=c=y,h&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Ln(s),i=s=c=y,(d||h!==t)&&(l=gi(),u=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,a=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=a);var y=h-(a-l),m=0>=y;m?(i&&(i=Ln(i)),l=a,u=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Ln(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,u=e.apply(o,n)),!m||s||i||(n=o=null),u}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return at(e,16,f(arguments,1))}function Hr(e){return at(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:Lt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return at(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),u=i[0],a=e[u];return 1!=i.length||a!==a||Lt(a)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[u];return a===t&&(0!==a||1/a==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var u=!0,a=n&&At(n);n&&(i||a.length)||(null==i&&(i=n),o=r,n=e,e=t,a=At(n)),i===!1?u=!1:Lt(i)&&"chain"in i&&(u=i.chain);var o=e,s=Bt(o);Kt(a,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var a=r.apply(e,i);if(u||t){if(n===a&&Lt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var u=Wn();return zn(e+u*(t-e+parseFloat("1e-"+((u+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function un(e,r,n){var i=t.templateSettings;e=En(e||""),n=ai({},n,i);var u,a=ai({},n.imports,i.imports),o=ei(a),s=Gt(a),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===L?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,a,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),a&&(u=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(u?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function an(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:L,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(Lt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Lt(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ui=function(e,t,r){var n,i=e,u=i;if(!i)return u;var a=arguments,o=0,s="number"==typeof r?2:a.length;if(s>3&&"function"==typeof a[s-2])var c=E(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(c=a[--s]);for(;++o/g,S=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),u=e("./parser/dot"),a=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(a=u.classes.join(" "));var o="";o=n(o,u.styles),i="undefined"==typeof u.text?u.id:u.text;var s=0,c="";switch(u.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(u.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":a,style:o,id:u.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?u.parser:i.parser,r.yy=n,r.parse(e);var a=n.getClasses();return"undefined"==typeof a.default&&(a.default={id:"default"},a.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),a},r.draw=function(e,t,o){var s;n.clear(),s=o?u.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new a.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new a.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,u=.8*(n+i),o=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-u/2+","+2*u/4+")");return r.intersect=function(e){return a.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,u=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",u.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return a.intersect.polygon(r,u,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a.util.applyStyle(u,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l),f.attr("height",l.graph().height),f.attr("width",l.graph().width)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],u=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],L=[1,65],S=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:this.$=u[a-1];break;case 2:this.$=u[a-4];break;case 3:this.$=u[a-5];break;case 4:this.$=u[a-3];break;case 8:case 10:case 11:this.$=u[a];break;case 9:this.$=u[a-1]+""+u[a];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=u[a];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(u[a-1],u[a].id,u[a].op),this.$="oy";break;case 42:n.addLink(u[a-1],u[a].id,u[a].op),this.$={op:u[a-2],id:u[a-1]};break;case 44:this.$={op:u[a-1],id:u[a]};break;case 48:n.addVertex(u[a-1]),this.$=u[a-1];break;case 49:n.addVertex(u[a]),this.$=u[a];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:L,49:S,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:u,18:a,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],u=[1,19],a=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],L=[1,110],S=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],ut=[1,131],at=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 3:this.$=u[a-3];break;case 4:this.$=u[a-2];break;case 5:n.setDirection(u[a-1]),this.$=u[a-1];break;case 6:n.setDirection("LR"),this.$=u[a-1];break;case 7:n.setDirection("RL"),this.$=u[a-1];break;case 8:n.setDirection("BT"),this.$=u[a-1];break;case 9:n.setDirection("TB"),this.$=u[a-1];break;case 32:n.addLink(u[a-2],u[a],u[a-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"square");break;case 35:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"square");break;case 36:this.$=u[a-5],n.addVertex(u[a-5],u[a-2],"circle");break;case 37:this.$=u[a-6],n.addVertex(u[a-6],u[a-3],"circle");break;case 38:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"round");break;case 39:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"round");break;case 40:case 44:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"diamond");break;case 41:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"diamond");break;case 42:this.$=u[a-3],n.addVertex(u[a-3],u[a-1],"odd");break;case 43:this.$=u[a-4],n.addVertex(u[a-4],u[a-2],"odd");break;case 45:this.$=u[a],n.addVertex(u[a]);break;case 46:this.$=u[a-1],n.addVertex(u[a-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=u[a];break;case 48:case 61:case 63:case 72:this.$=u[a-1]+""+u[a];break;case 50:this.$=u[a-2]+"-"+u[a];break;case 51:u[a-1].text=u[a],this.$=u[a-1];break;case 52:u[a-2].text=u[a-1],this.$=u[a-2];break;case 53:this.$=u[a];break;case 54:case 59:this.$=u[a-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=u[a-4],n.addClass(u[a-2],u[a]);break;case 74:this.$=u[a-4],n.setClass(u[a-2],u[a]);break;case 75:this.$=u[a-4],n.setClickEvent(u[a-2],u[a]);break;case 76:this.$=u[a-4],n.addVertex(u[a-2],void 0,void 0,u[a]);break;case 77:case 78:this.$=u[a-4],n.updateLink(u[a-2],u[a]);break;case 80:this.$=[u[a]];break;case 81:u[a-2].push(u[a]),this.$=u[a-2];break;case 83:this.$=u[a-1]+u[a]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:u,54:a,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:L,9:S,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:ut,17:at,18:133},{9:it,11:135,16:ut,17:at,18:133},{9:it,11:136,16:ut,17:at,18:133},{9:it,11:137,16:ut,17:at,18:133},{9:it,11:138,16:ut,17:at,18:133},{1:[2,3]},t(b,[2,13]),{8:L,9:S,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:L,9:S,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:L,9:S,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:L,9:S,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:L,9:S,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:L,9:S,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:L,9:S,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],u=[17,31,32],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,u){var a=u.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(u[a]);break;case 10:n.addSignal(void 0,void 0,u[a],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(u[a-1],u[a-2],u[a]);break;case 13:this.$=n.addNote(u[a-1],n.PLACEMENT.OVER,u[a]);break;case 14:case 21:this.$=u[a];break;case 15:this.$=[u[a-2],u[a]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(u[a-3],u[a-1],u[a],u[a-2]);break;case 19:n.addActor(u[a],u[a],u[a]);break;case 20:this.$=u[a-1]|u[a]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=u[a].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(u,[2,22]),t(u,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],u=[],a=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=u.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;u.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=a[w]&&a[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in a[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),u.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},v&&(F._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,u].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),u=u.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),u.push(F._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=r,n=u,this.options.backtrack_lexer){if(e=this.test_match(r,i[u]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return a.lexer=o,e.prototype=a,a.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],u=[],a=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){u.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){u.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return u},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},u=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};a.push(i),u.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),u={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var a=this,o=0;this.list.forEach(function(s){o++;var c=a.list.length-o+1;a.updateVal(s,"startx",e-c*u.boxMargin,Math.min),a.updateVal(s,"starty",t-c*u.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(s,"stopy",i+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"startx",e-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"starty",t-c*u.boxMargin,Math.min),a.updateVal(r.bounds.data,"stopx",n+c*u.boxMargin,Math.max),a.updateVal(r.bounds.data,"stopy",i+c*u.boxMargin,Math.max)})},insert:function(e,t,n,i){var u,a,o,s;u=Math.min(e,n),o=Math.max(e,n),a=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",u,Math.min),this.updateVal(r.bounds.data,"starty",a,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(u,a,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var a=function(e,t,n,a){var o=i.getNoteRect();o.x=t,o.y=n,o.width=u.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+u.noteMargin,l.textMargin=u.noteMargin,l.dy="1em",l.text=a.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+u.width,n+2*u.noteMargin+d),c.attr("height",d+2*u.noteMargin),r.bounds.bumpVerticalPos(d+2*u.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var a=i.getTextObj();a.text="Loop",a.x=t.startx,a.y=t.starty,a.labelMargin=1.5*u.boxMargin,a.class="labelText",a.fill="white",i.drawLabel(r,a),a=i.getTextObj(),a.text=t.title,a.x=t.startx+(t.stopx-t.startx)/2,a.y=t.starty+1.5*u.boxMargin,a.anchor="middle",a.class="loopText",i.drawText(r,a)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,u){var a,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(u.message),l=c[0][0].getBBox().width;if(t===n){a=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else a=o.append("line"),a.attr("x1",t),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===u.type?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0"),a.attr("stroke-width",2),a.attr("stroke","black"),a.style("fill","none"),a.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+u.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",u.width).attr("height",u.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",u.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+u.width,u.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; -r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),u=e("./utils"),a=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=u.detectType(l),d={};switch(h){case"graph":d=a.getClasses(l,!1),a.draw(l,c,!1),u.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=a.getClasses(l,!0),a.draw(l,c,!0),u.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),u.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +}return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:L,escape:T,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===S?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),l=c[0][0].getBBox().width;if(t===n){u=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else u=o.append("line"),u.attr("x1",t),u.attr("y1",i),u.attr("x2",n),u.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===a.type?(u.style("stroke-dasharray","3, 3"),u.attr("class","messageLine1")):u.attr("class","messageLine0"),u.attr("stroke-width",2),u.attr("stroke","black"),u.style("fill","none"),u.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; +r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index d831d3af8..879ae421b 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -284,8 +284,10 @@ exports.draw = function (text, id,isDot) { // Run the renderer. This is what draws the final graph. render(d3.select("#" + id + " g"), g); + var svgb = document.querySelector('#mermaidChart0'); // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); + svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); }; \ No newline at end of file From 26d0908b2736bc965777be06fe1296934983d4c5 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 27 Dec 2014 09:46:28 +0100 Subject: [PATCH 27/48] Fix for issue #53 --- src/diagrams/flowchart/parser/flow.jison | 11 +- src/diagrams/flowchart/parser/flow.js | 123 ++++---- src/diagrams/flowchart/parser/flow.spec.js | 336 ++++++++++++++------- 3 files changed, 299 insertions(+), 171 deletions(-) diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index f13dca2d5..08f7b8d8a 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -26,12 +26,13 @@ "." return 'DOT'; "<" return 'TAGSTART'; ">" return 'TAGEND'; -"^" return 'UP' -"v" return 'DOWN' +"^" return 'UP'; +"v" return 'DOWN'; \-\-[x] return 'ARROW_CROSS'; \-\-\> return 'ARROW_POINT'; \-\-[o] return 'ARROW_CIRCLE'; \-\-\- return 'ARROW_OPEN'; +\-\- return '--'; \- return 'MINUS'; \+ return 'PLUS'; \% return 'PCT'; @@ -235,6 +236,12 @@ link: linkStatement arrowText {$$ = $1;} | linkStatement SPACE {$$ = $1;} + | '--' SPACE text SPACE linkStatement + {$5.text = $3;$$ = $5;} + | '--' SPACE text SPACE linkStatement SPACE + {$5.text = $3;$$ = $5;} + | '--' text linkStatement SPACE + {$5.text = $3;$$ = $5;} ; linkStatement: ARROW_POINT diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index 76e7209ce..c4afc7933 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[1,56],$Vo=[1,57],$Vp=[1,58],$Vq=[1,59],$Vr=[6,16,17,43,44,45,46,47],$Vs=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],$Vt=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],$Vu=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$Vv=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vw=[1,111],$Vx=[1,103],$Vy=[1,112],$Vz=[1,86],$VA=[1,85],$VB=[1,101],$VC=[1,90],$VD=[1,91],$VE=[1,88],$VF=[1,89],$VG=[1,92],$VH=[1,93],$VI=[1,104],$VJ=[1,97],$VK=[1,98],$VL=[1,96],$VM=[1,99],$VN=[1,87],$VO=[1,106],$VP=[1,107],$VQ=[1,108],$VR=[1,109],$VS=[1,110],$VT=[1,94],$VU=[1,95],$VV=[1,100],$VW=[62,65,67,68,70,71,73,74,75],$VX=[9,48,62,65,67,68,70,71,73,74,75],$VY=[1,137],$VZ=[1,134],$V_=[1,135],$V$=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$V01=[2,100],$V11=[2,102],$V21=[8,9,10,12,13,33,35,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$V31=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$V41=[1,173],$V51=[1,170],$V61=[1,174],$V71=[1,171],$V81=[1,168],$V91=[1,169],$Va1=[1,172],$Vb1=[1,175],$Vc1=[1,176],$Vd1=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$Ve1=[2,44],$Vf1=[1,188],$Vg1=[6,16,17,65],$Vh1=[6,9,16,17,40,61,62,65,67,68,69,70,71]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"--":43,"ARROW_POINT":44,"ARROW_CIRCLE":45,"ARROW_CROSS":46,"ARROW_OPEN":47,"PIPE":48,"textToken":49,"commentText":50,"commentToken":51,"keywords":52,"STYLE":53,"LINKSTYLE":54,"CLASSDEF":55,"CLASS":56,"CLICK":57,"textNoTags":58,"textNoTagsToken":59,"stylesOpt":60,"HEX":61,"NUM":62,"PCT":63,"style":64,"COMMA":65,"styleComponent":66,"ALPHA":67,"COLON":68,"UNIT":69,"BRKT":70,"DOT":71,"graphCodeTokens":72,"PLUS":73,"EQUALS":74,"MULT":75,"TAG_START":76,"TAG_END":77,"QUOTE":78,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[29,4],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -146,10 +146,10 @@ break; case 46: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: case 49: case 60: case 62: case 71: +case 47: case 49: case 63: case 65: case 74: this.$=$$[$0]; break; -case 48: case 61: case 63: case 72: +case 48: case 64: case 66: case 75: this.$=$$[$0-1]+''+$$[$0]; break; case 50: @@ -164,49 +164,58 @@ break; case 53: this.$ = $$[$0]; break; -case 54: case 59: +case 54: case 62: this.$ = $$[$0-1]; break; case 55: -this.$ = {"type":"arrow"}; +$$[$0].text = $$[$0-2];this.$ = $$[$0]; break; case 56: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; case 57: -this.$ = {"type":"arrow_cross"}; +$$[$01].text = $$[$0-1];this.$ = $$[$01]; break; case 58: +this.$ = {"type":"arrow"}; +break; +case 59: +this.$ = {"type":"arrow_circle"}; +break; +case 60: +this.$ = {"type":"arrow_cross"}; +break; +case 61: this.$ = {"type":"arrow_open"}; break; -case 73: +case 76: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 74: +case 77: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 75: +case 78: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 76: +case 79: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 77: case 78: +case 80: case 81: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 80: +case 83: this.$ = [$$[$0]] break; -case 81: +case 84: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 83: +case 86: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], -defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{63:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:$Vn,45:$Vo,46:$Vp,47:$Vq}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},o($Vr,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),o($Vs,[2,47],{38:24,39:25,30:71,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vt,[2,49],{40:[1,72]}),o($Vu,[2,105]),o($Vu,[2,106]),o($Vu,[2,107]),o($Vu,[2,108]),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),o($Vu,[2,112]),o($Vu,[2,113]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vv,[2,22]),o($Vv,[2,23]),o($Vv,[2,29]),o($Vv,[2,30]),o($Vv,[2,31]),o($Vv,[2,24]),o($Vv,[2,25]),o($Vv,[2,26]),o($Vv,[2,27]),o($Vv,[2,28]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,50:80,51:81,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},{28:113,30:23,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VW,[2,53],{42:114,9:[1,115],48:[1,116]}),{8:$Vw,9:[1,117],10:$Vy,12:$Vz,13:$VA,32:118,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),o($VX,[2,61]),{30:120,38:24,39:25,61:[1,121],62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{62:[1,122]},{30:123,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:124,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:125,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:126,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:128,34:[1,127],39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:129,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:130,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:131,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,46]),o($Vs,[2,48]),{39:132,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$VY,11:133,16:$VZ,17:$V_,18:136},{9:$VY,11:138,16:$VZ,17:$V_,18:136},{9:$VY,11:139,16:$VZ,17:$V_,18:136},{9:$VY,11:140,16:$VZ,17:$V_,18:136},{9:$VY,11:141,16:$VZ,17:$V_,18:136},{1:[2,3]},o($Vh,[2,13]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,17:[2,82],31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,51:142,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},o($V$,[2,65]),o($V$,[2,96]),o($V$,[2,97]),o($V$,[2,98]),o($V$,[2,99]),o($V$,$V01),o($V$,[2,114]),o($V$,[2,115]),o($V$,[2,116]),o($V$,[2,117]),o($V$,[2,118]),o($V$,[2,119]),o($V$,[2,120]),o($V$,[2,121]),o($V$,[2,122]),o($V$,[2,123]),o($V$,[2,124]),o($V$,[2,125]),o($V$,[2,126]),o($V$,[2,127]),o($V$,[2,128]),o($V$,[2,101]),o($V$,$V11),o($V$,[2,103]),o($V$,[2,104]),o($V$,[2,67]),o($V$,[2,68]),o($V$,[2,69]),o($V$,[2,70]),o($V$,[2,71]),o($V$,[2,72]),o($V$,[2,73]),o($Vm,[2,32]),o($VW,[2,51],{9:[1,143]}),o($VW,[2,54]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:144,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o([44,45,46,47],$V11,{59:84,39:102,52:105,49:119,32:145,8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,40:$VI,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,41:146,44:$Vn,45:$Vo,46:$Vp,47:$Vq,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($V21,[2,63]),{9:[1,148]},{9:[1,149]},{9:[1,150]},{9:[1,151]},{9:[1,152]},{9:[1,153]},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,154],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:155,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,156],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,37:[1,157],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,158],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:[1,159],13:$VA,39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vt,[2,50]),o($V31,[2,5]),o($V31,[2,10]),o($V31,[2,11]),{17:[1,160]},{9:$VY,17:[2,21],18:161},o($V31,[2,6]),o($V31,[2,7]),o($V31,[2,8]),o($V31,[2,9]),o($V$,[2,66]),o($VW,[2,52]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,48:[1,162],49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:[1,163],10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,164]},o($V21,[2,64]),{9:$V41,40:$V51,60:165,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:177,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:178,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:179,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{30:180,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:181,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,34],{9:[1,182]}),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,183],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,38],{9:[1,184]}),o($Vr,[2,40],{9:[1,185]}),o($Vr,[2,42],{9:[1,186]}),o($Vd1,$V01,{6:$Ve1,16:$Ve1,17:$Ve1,43:$Ve1,44:$Ve1,45:$Ve1,46:$Ve1,47:$Ve1}),o($V31,[2,12]),{17:[2,20]},o([9,62,65,67,68,70,71,73,74,75],[2,62]),o($Vd1,$V11,{41:187,44:$Vn,45:$Vo,46:$Vp,47:$Vq}),o($VW,[2,57]),o($Vm,[2,79],{65:$Vf1}),o($Vg1,[2,83],{66:189,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vh1,[2,85]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vh1,[2,89]),o($Vh1,[2,90]),o($Vh1,[2,91]),o($Vh1,[2,92]),o($Vh1,[2,93]),o($Vh1,[2,94]),o($Vh1,[2,95]),o($Vm,[2,80],{65:$Vf1}),o($Vm,[2,81],{65:$Vf1}),o($Vm,[2,76],{65:$Vf1}),o($Vm,[2,77]),o($Vm,[2,78]),o($Vr,[2,35]),{35:[1,190]},o($Vr,[2,39]),o($Vr,[2,41]),o($Vr,[2,43]),o($VW,[2,55],{9:[1,191]}),{9:$V41,40:$V51,61:$V61,62:$V71,64:192,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},o($Vh1,[2,86]),o($Vr,[2,36],{9:[1,193]}),o($VW,[2,56]),o($Vg1,[2,84],{66:189,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vr,[2,37])], +defaultActions: {36:[2,1],78:[2,3],161:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -680,15 +689,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 52; +case 0:return 53; break; -case 1:return 53; +case 1:return 54; break; -case 2:return 54; +case 2:return 55; break; -case 3:return 55; +case 3:return 56; break; -case 4:return 56; +case 4:return 57; break; case 5:return 8; break; @@ -704,74 +713,76 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 61; +case 12:return 62; break; -case 13:return 69; +case 13:return 70; break; -case 14:return 67; +case 14:return 68; break; case 15:return 16; break; -case 16:return 64; +case 16:return 65; break; -case 17:return 73; +case 17:return 74; break; -case 18:return 74; +case 18:return 75; break; -case 19:return 70; +case 19:return 71; break; case 20:return 13; break; case 21:return 12; break; -case 22:return 14 +case 22:return 14; break; -case 23:return 15 +case 23:return 15; break; -case 24:return 45; +case 24:return 46; break; -case 25:return 43; +case 25:return 44; break; -case 26:return 44; +case 26:return 45; break; -case 27:return 46; +case 27:return 47; break; -case 28:return 40; +case 28:return 43; break; -case 29:return 72; +case 29:return 40; break; -case 30:return 62; +case 30:return 73; break; -case 31:return 73; +case 31:return 63; break; -case 32:return 66; +case 32:return 74; break; -case 33:return 47; +case 33:return 67; break; -case 34:return 34; +case 34:return 48; break; -case 35:return 35; +case 35:return 34; break; -case 36:return 31; +case 36:return 35; break; -case 37:return 33; +case 37:return 31; break; -case 38:return 36 +case 38:return 33; break; -case 39:return 37 +case 39:return 36 break; -case 40:return 77; +case 40:return 37 break; -case 41:return 17; +case 41:return 78; break; -case 42:return 9; +case 42:return 17; break; -case 43:return 6; +case 43:return 9; +break; +case 44:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 04946e742..8eb87581b 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -249,87 +249,193 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow_circle'); }); - it('should handle text on edges without space',function(){ - var res = flow.parser.parse('graph TD;A--x|textNoSpace|B;'); + describe("it should handle text on edges",function(){ + it('it should handle text without space',function(){ + var res = flow.parser.parse('graph TD;A--x|textNoSpace|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - }); + expect(edges[0].type).toBe('arrow_cross'); + }); - it('should handle text on edges without space and space between vertices and link',function(){ - var res = flow.parser.parse('graph TD;A --x|textNoSpace| B;'); + it('should handle with space',function(){ + var res = flow.parser.parse('graph TD;A--x|text including space|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - }); + expect(edges[0].type).toBe('arrow_cross'); + }); - it('should handle text on edges with space',function(){ - var res = flow.parser.parse('graph TD;A--x|text including space|B;'); + it('it should handle text with /',function(){ + var res = flow.parser.parse('graph TD;A--x|text with / should work|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - }); + expect(edges[0].text).toBe('text with / should work'); + }); - it('should handle text on edges with space',function(){ - var res = flow.parser.parse('graph TD;A--x|text with / should work|B;'); + it('it should handle space and space between vertices and link',function(){ + var res = flow.parser.parse('graph TD;A --x|textNoSpace| B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].text).toBe('text with / should work'); - }); + expect(edges[0].type).toBe('arrow_cross'); + }); - it('should handle text on edges with space CAPS',function(){ - var res = flow.parser.parse('graph TD;A--x|text including CAPS space|B;'); + it('should handle space and CAPS',function(){ + var res = flow.parser.parse('graph TD;A--x|text including CAPS space|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - }); - it('should handle text on edges with space dir',function(){ - var res = flow.parser.parse('graph TD;A--x|text including URL space|B;'); + expect(edges[0].type).toBe('arrow_cross'); + }); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + it('should handle space and dir',function(){ + var res = flow.parser.parse('graph TD;A--x|text including URL space|B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - expect(edges[0].text).toBe('text including URL space'); + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including URL space'); + + }); + + it('should handle space and dir (TD)',function(){ + var res = flow.parser.parse('graph TD;A--x|text including R TD space|B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including R TD space'); + + }); + it('should handle keywords',function(){ + var res = flow.parser.parse('graph TD;A--x|text including graph space|B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(edges[0].text).toBe('text including graph space'); + + }); }); - it('should handle text on edges with space dir',function(){ - var res = flow.parser.parse('graph TD;A--x|text including R TD space|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + describe("it should handle text on edges using the new notation",function(){ + it('it should handle text without space',function(){ + var res = flow.parser.parse('graph TD;A-- textNoSpace --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(edges[0].type).toBe('arrow_cross'); - expect(edges[0].text).toBe('text including R TD space'); + expect(edges[0].type).toBe('arrow_cross'); + }); + + it('it should handle text with multiple leading space',function(){ + var res = flow.parser.parse('graph TD;A-- textNoSpace --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + }); + + + it('should handle with space',function(){ + var res = flow.parser.parse('graph TD;A-- text including space --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + }); + + it('it should handle text with /',function(){ + var res = flow.parser.parse('graph TD;A -- text with / should work --x B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].text).toBe('text with / should work'); + }); + + it('it should handle space and space between vertices and link',function(){ + var res = flow.parser.parse('graph TD;A -- textNoSpace --x B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + }); + + it('should handle space and CAPS',function(){ + var res = flow.parser.parse('graph TD;A-- text including CAPS space --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + }); + + it('should handle space and dir',function(){ + var res = flow.parser.parse('graph TD;A-- text including URL space --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including URL space'); + + }); + + it('should handle space and dir (TD)',function(){ + var res = flow.parser.parse('graph TD;A-- text including R TD space --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including R TD space'); + + }); + it('should handle keywords',function(){ + var res = flow.parser.parse('graph TD;A-- text including graph space --xB;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(edges[0].text).toBe('text including graph space'); + + }); }); - it('should handle text on edges with graph keyword',function(){ - var res = flow.parser.parse('graph TD;A--x|text including graph space|B;'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - expect(edges[0].text).toBe('text including graph space'); - }); + it('should handle multi-line text',function(){ var res = flow.parser.parse('graph TD;A--o|text space|B;\n B-->|more text with space|C;'); @@ -350,6 +456,7 @@ describe('when parsing ',function(){ expect(edges[1].text).toBe('more text with space'); }); + it('should handle multiple edges',function(){ var res = flow.parser.parse('graph TD;A---|This is the 123 s text|B;\nA---|This is the second edge|B;'); var vert = flow.parser.yy.getVertices(); @@ -435,76 +542,79 @@ describe('when parsing ',function(){ expect(edges[0].text).toBe(',.?!+-*'); }); + describe("it should handle text in vertices, ",function(){ - it('should handle text in vertices with space',function(){ - var res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar);'); + it('it should handle space',function(){ + var res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar);'); - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('Chimpansen hoppar'); + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe('Chimpansen hoppar'); + }); + it('it should handle åäö and minus',function(){ + var res = flow.parser.parse('graph TD;A-->C{Chimpansen hoppar åäö-ÅÄÖ};'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('diamond'); + expect(vert['C'].text).toBe('Chimpansen hoppar åäö-ÅÄÖ'); + }); + + it('it should handle with åäö, minus and space and br',function(){ + var res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar åäö
- ÅÄÖ);'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe('Chimpansen hoppar åäö
- ÅÄÖ'); + }); + xit('it should handle åäö, minus and space and br',function(){ + var res = flow.parser.parse('graph TD; A[Object(foo,bar)]-->B(Thing);'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe(' A[Object(foo,bar)]-->B(Thing);'); + }); + it('it should handle unicode chars',function(){ + var res = flow.parser.parse('graph TD;A-->C(Начало);'); + + var vert = flow.parser.yy.getVertices(); + + expect(vert['C'].text).toBe('Начало'); + }); + it('it should handle backslask',function(){ + var res = flow.parser.parse('graph TD;A-->C(c:\\windows);'); + + var vert = flow.parser.yy.getVertices(); + + expect(vert['C'].text).toBe('c:\\windows'); + }); + it('it should handle CAPS',function(){ + var res = flow.parser.parse('graph TD;A-->C(some CAPS);'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe('some CAPS'); + }); + it('it should handle directions',function(){ + var res = flow.parser.parse('graph TD;A-->C(some URL);'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(vert['C'].type).toBe('round'); + expect(vert['C'].text).toBe('some URL'); + }); }); - it('should handle text in vertices with åäö and minus',function(){ - var res = flow.parser.parse('graph TD;A-->C{Chimpansen hoppar åäö-ÅÄÖ};'); - - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - - expect(vert['C'].type).toBe('diamond'); - expect(vert['C'].text).toBe('Chimpansen hoppar åäö-ÅÄÖ'); - }); - it('should handle text in vertices with åäö, minus and space and br',function(){ - var res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar åäö
- ÅÄÖ);'); - - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('Chimpansen hoppar åäö
- ÅÄÖ'); - }); - xit('should handle text in vertices with åäö, minus and space and br',function(){ - var res = flow.parser.parse('graph TD; A[Object(foo,bar)]-->B(Thing);'); - - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe(' A[Object(foo,bar)]-->B(Thing);'); - }); - it('should handle text in vertices with unicode chars',function(){ - var res = flow.parser.parse('graph TD;A-->C(Начало);'); - - var vert = flow.parser.yy.getVertices(); - - expect(vert['C'].text).toBe('Начало'); - }); - it('should handle text in vertices with backslask',function(){ - var res = flow.parser.parse('graph TD;A-->C(c:\\windows);'); - - var vert = flow.parser.yy.getVertices(); - - expect(vert['C'].text).toBe('c:\\windows'); - }); - it('should handle text in vertices with CAPS',function(){ - var res = flow.parser.parse('graph TD;A-->C(some CAPS);'); - - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('some CAPS'); - }); - it('should handle text in vertices with directions',function(){ - var res = flow.parser.parse('graph TD;A-->C(some URL);'); - - var vert = flow.parser.yy.getVertices(); - var edges = flow.parser.yy.getEdges(); - - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('some URL'); - }); it('should handle a single node',function(){ // Silly but syntactically correct var res = flow.parser.parse('graph TD;A;'); From 5bc20a4b08b3bb1415421a8fecb1b7adfb596b07 Mon Sep 17 00:00:00 2001 From: Oleksandr Lapshyn Date: Sat, 27 Dec 2014 20:05:15 -0500 Subject: [PATCH 28/48] Add apostrophe & 'and' --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38f9ae8df..46cb8b79b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ Great that you want to be involved in this project! Contributing is fun and contributions are GREAT! :) -This page is currently a starting point is not so rigorous to start with. +This page is currently a starting point and is not so rigorous to start with. Some important guidlines: @@ -16,7 +16,7 @@ The issue list and the items marked with **help wanted** is a good starting poin ## Guidelines for avoiding duplicate work Contributing is great. It is not so fun when you are done with your issue and just before you're about to push your -change you cant because someone else just pushed the same fix so you have wasted your time. The guidelines below are in +change you can't because someone else just pushed the same fix so you have wasted your time. The guidelines below are in place to prevent this: * Comment in the issue that you are working on it. You will then be added as an assignee (eventually). From 7bcbe6f4694033132d8ac44b2d906dfa52618ea5 Mon Sep 17 00:00:00 2001 From: fardog Date: Sun, 28 Dec 2014 00:26:37 -0800 Subject: [PATCH 29/48] Show help and version even if phantom isn't present. Fixes #71 --- lib/cli.js | 130 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 76 insertions(+), 54 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index 14ee904da..3a4f79e9e 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -10,7 +10,11 @@ var PHANTOM_VERSION = "^1.9.0" var info = chalk.blue.bold , note = chalk.green.bold -var cli = function(options) { +module.exports = function() { + return new cli() +}() + +function cli(options) { this.options = { alias: { help: 'h' @@ -52,9 +56,11 @@ cli.prototype.parse = function(argv, next) { if (options.version) { var pkg = require('../package.json') this.message = "" + pkg.version + next(null, this.message) } else if (options.help) { this.message = this.helpMessage.join('\n') + next(null, this.message) } else { options.files = options._ @@ -71,65 +77,81 @@ cli.prototype.parse = function(argv, next) { } } }.bind(this)) - } - if (options.svg && !options.png) { - options.png = false - } - else { - options.png = true - } + // set svg/png flags appropriately + if (options.svg && !options.png) { + options.png = false + } + else { + options.png = true + } - // If phantom hasn't been specified, see if we can find it - if (!options.phantomPath) { - try { - var phantom = require('phantomjs') - options.phantomPath = phantom.path - } catch (e) { + this.checkPhantom = createCheckPhantom(options.phantomPath) + + this.checkPhantom(function(err, path) { + if(err) { + this.errors.push(err) + } + options.phantomPath = path + next( + this.errors.length > 0 ? this.errors : null + , this.message + , options + ) + }.bind(this)) + } +} + +function createCheckPhantom(_phantomPath) { + var phantomPath = _phantomPath + , phantomVersion + + return function checkPhantom(_next) { + var next = _next || function() {} + , err + + if (typeof phantomPath === 'undefined') { try { - options.phantomPath = which.sync('phantomjs') + var phantom = require('phantomjs') + phantomPath = phantom.path } catch (e) { - if (!options.phantomPath) { - var err = [ - "Cannot find phantomjs in your PATH. If phantomjs is installed" - , "you may need to specify its path manually with the '-e' option." - , "If it is not installed, you should view the README for further" - , "details." - ] - - this.errors.push(new Error(err.join('\n'))) - next( - this.errors.length > 0 ? this.errors : null - , this.message - , options) - - return + try { + phantomPath = which.sync('phantomjs') + } catch (e) { + if (!phantomPath) { + phantomPath = null + err = new Error( + [ + "Cannot find phantomjs in your PATH. If phantomjs is installed" + , "you may need to specify its path manually with the '-e' option." + , "Run this executable with '--help' or view the README for more" + , "details." + ].join('\n') + ) + + next(err) + return + } } } } + + // If we have phantompath, see if its version satisfies our requirements + exec(phantomPath + ' --version', function(err, stdout, stderr) { + if (err) { + next(new Error("Could not find phantomjs at the specified path.")) + } + else if (!semver.satisfies(stdout, PHANTOM_VERSION)) { + next(new Error( + 'mermaid requires phantomjs ' + + PHANTOM_VERSION + + ' to be installed, found version ' + + stdout + )) + } + else { + next(null, phantomPath) + } + }) } - - // If we have phantompath, see if its version satisfies our requirements - exec(options.phantomPath + ' --version', function(err, stdout, stderr) { - if (err) { - this.errors.push( - new Error("Could not find phantomjs at the specified path.") - ) - } - else if (!semver.satisfies(stdout, PHANTOM_VERSION)) { - this.message = note( - 'mermaid requires phantomjs ' - + PHANTOM_VERSION - + ' to be installed, found version ' - + stdout - ) - } - next(this.errors.length > 0 ? this.errors : null, this.message, options) - }.bind(this)) - } - - -module.exports = function() { - return new cli() -}() From da37b4dee5e6956a7966b7f56178600d811f5e63 Mon Sep 17 00:00:00 2001 From: it0a Date: Wed, 31 Dec 2014 02:02:39 -0500 Subject: [PATCH 30/48] Fix for issue #73 --- src/diagrams/sequenceDiagram/svgDraw.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index b8bc95403..0253919c6 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -26,7 +26,7 @@ exports.drawText = function(elem , textData){ textElem.style('text-anchor', textData.anchor); textElem.attr('fill', textData.fill); - textData.text.split('
').forEach(function(rowText){ + textData.text.split(//ig).forEach(function(rowText){ var span = textElem.append('tspan'); span.attr('x', textData.x +textData.textMargin); span.attr('dy', textData.dy); From c10b4553ae750a86f8d4ca21a1a8d96126c62214 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 31 Dec 2014 11:32:25 +0100 Subject: [PATCH 31/48] Update README.md Referring further reading to new documentation site --- README.md | 83 ++++++++++++------------------------------------------- 1 file changed, 17 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index e6431c498..31adbb739 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + mermaid [![Build Status](https://travis-ci.org/knsv/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Code Climate](https://codeclimate.com/github/knsv/mermaid/badges/gpa.svg)](https://codeclimate.com/github/knsv/mermaid) ======= @@ -9,24 +10,26 @@ This is why mermaid was born, a simple markdown-like script language for generat The code below would render the following image + -
CodeRendered diagram
+
 graph TD;
     A-->B;
     A-->C;
     B-->D;
     C-->D;
+
 
-would render this lovely chart: - Example 1
+
 sequenceDiagram
     participant Alice
     participant Bob
@@ -38,80 +41,28 @@ sequenceDiagram
     John-->Alice: Great!
     John->Bob: How about you?
     Bob-->John: Jolly good!
+
 
-would render this lovely chart: - Example 2
-A page with a live example can be seen [here](http://www.sveido.com/mermaid/demo/html/web.html). You can also look at mermaid in action using [jsbin](http://jsbin.com/faxunexeku/1/edit?html,output). If you want a live demo, there is an editor provided in the mermaid project or you can simply look at this [great editor](http://danielmschmidt.github.io/mermaid-demo/) - - -# [The main documentation is located in the wiki](https://github.com/knsv/mermaid/wiki) - - - -# Another graph example - -``` -graph LR; - A[Hard edge]-->|Link text|B(Round edge); - B-->C{Decision}; - C-->|One|D[Result one]; - C-->|Two|E[Result two]; -``` - -Below is the new declaration of the graph which since 0.2.16 also is valid along with the old declaration of the graph as described in the graph example on the home wiki page. - -``` -graph LR - A[Hard edge] -->|Link text| B(Round edge) - B --> C{Decision} - C -->|One| D[Result one] - C -->|Two| E[Result two] -``` - - -![Example 2](http://www.sveido.com/mermaid/img/ex2.png) - - -# mermaid CLI - -Installing mermaid globally (`npm install -g mermaid`) will expose the `mermaid` command to your environment, allowing you to generate PNGs from any file containing mermaid markup via the command line. - -**Note:** The `mermaid` command requires [PhantomJS](http://phantomjs.org/) (version `^1.9.0`) to be installed and available in your *$PATH*, or you can specify it's location with the `-e` option. For most environments, `npm install -g phantomjs` will satisfy this requirement. - -## Usage - -``` -$ mermaid --help - -Usage: mermaid [options] ... - -file The mermaid description file to be rendered - -Options: - -s --svg Output SVG instead of PNG (experimental) - -p --png If SVG was selected, and you also want PNG, set this flag - -o --outputDir Directory to save files, will be created automatically, defaults to `cwd` - -e --phantomPath Specify the path to the phantomjs executable - -h --help Show this message - -v --verbose Show logging - --version Print version and quit -``` - -## CLI Known Issues - -- SVG output currently does some replacement on text, as mermaid's SVG output is only appropriate for browsers. Text color and background color is not yet replicated; please use PNGs for most purposes until this is resolved. -- SVG output is decidedly non-standard. It works, but may cause issues in some viewers. +## Further reading +* [Usage](http://knsv.github.io/mermaid/usage.html) +* [Flowchart syntax](http://knsv.github.io/mermaid/flowchart.html) +* [Sequence diagram syntax](http://knsv.github.io/mermaid/sequenceDiagram.html) +* [Mermaid client](http://knsv.github.io/mermaid/mermaidCLI.html) # Credits -Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries! Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. +Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing +the graphical layout and drawing libraries! Thanks also to the +[js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the +sequence diagrams. *Mermaid was created by Knut Sveidqvist for easier documentation.* + +Knut has not done all work by him self, here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors). From c7e2c2b3c65544fb1cd072a33b12e616dceaaa2b Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 3 Jan 2015 15:34:49 +0100 Subject: [PATCH 32/48] Fix for issue #84 --- src/diagrams/flowchart/parser/flow.jison | 4 +-- src/diagrams/flowchart/parser/flow.js | 41 ++++++++++------------ src/diagrams/flowchart/parser/flow.spec.js | 11 ++++++ 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index 08f7b8d8a..ff8615bee 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -37,7 +37,7 @@ \+ return 'PLUS'; \% return 'PCT'; \= return 'EQUALS'; -[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| +[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| [\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| [\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]| [\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]| @@ -240,8 +240,6 @@ link: linkStatement arrowText {$5.text = $3;$$ = $5;} | '--' SPACE text SPACE linkStatement SPACE {$5.text = $3;$$ = $5;} - | '--' text linkStatement SPACE - {$5.text = $3;$$ = $5;} ; linkStatement: ARROW_POINT diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index c4afc7933..aec7d5003 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[1,56],$Vo=[1,57],$Vp=[1,58],$Vq=[1,59],$Vr=[6,16,17,43,44,45,46,47],$Vs=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],$Vt=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],$Vu=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$Vv=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vw=[1,111],$Vx=[1,103],$Vy=[1,112],$Vz=[1,86],$VA=[1,85],$VB=[1,101],$VC=[1,90],$VD=[1,91],$VE=[1,88],$VF=[1,89],$VG=[1,92],$VH=[1,93],$VI=[1,104],$VJ=[1,97],$VK=[1,98],$VL=[1,96],$VM=[1,99],$VN=[1,87],$VO=[1,106],$VP=[1,107],$VQ=[1,108],$VR=[1,109],$VS=[1,110],$VT=[1,94],$VU=[1,95],$VV=[1,100],$VW=[62,65,67,68,70,71,73,74,75],$VX=[9,48,62,65,67,68,70,71,73,74,75],$VY=[1,137],$VZ=[1,134],$V_=[1,135],$V$=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$V01=[2,100],$V11=[2,102],$V21=[8,9,10,12,13,33,35,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$V31=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$V41=[1,173],$V51=[1,170],$V61=[1,174],$V71=[1,171],$V81=[1,168],$V91=[1,169],$Va1=[1,172],$Vb1=[1,175],$Vc1=[1,176],$Vd1=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$Ve1=[2,44],$Vf1=[1,188],$Vg1=[6,16,17,65],$Vh1=[6,9,16,17,40,61,62,65,67,68,69,70,71]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[1,56],$Vo=[1,57],$Vp=[1,58],$Vq=[1,59],$Vr=[6,16,17,43,44,45,46,47],$Vs=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],$Vt=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],$Vu=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$Vv=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vw=[1,111],$Vx=[1,103],$Vy=[1,112],$Vz=[1,86],$VA=[1,85],$VB=[1,101],$VC=[1,90],$VD=[1,91],$VE=[1,88],$VF=[1,89],$VG=[1,92],$VH=[1,93],$VI=[1,104],$VJ=[1,97],$VK=[1,98],$VL=[1,96],$VM=[1,99],$VN=[1,87],$VO=[1,106],$VP=[1,107],$VQ=[1,108],$VR=[1,109],$VS=[1,110],$VT=[1,94],$VU=[1,95],$VV=[1,100],$VW=[62,65,67,68,70,71,73,74,75],$VX=[9,48,62,65,67,68,70,71,73,74,75],$VY=[1,136],$VZ=[1,133],$V_=[1,134],$V$=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$V01=[2,99],$V11=[2,101],$V21=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$V31=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$V41=[1,170],$V51=[1,167],$V61=[1,171],$V71=[1,168],$V81=[1,165],$V91=[1,166],$Va1=[1,169],$Vb1=[1,172],$Vc1=[1,173],$Vd1=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$Ve1=[2,44],$Vf1=[1,185],$Vg1=[6,16,17,65],$Vh1=[6,9,16,17,40,61,62,65,67,68,69,70,71]; var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"--":43,"ARROW_POINT":44,"ARROW_CIRCLE":45,"ARROW_CROSS":46,"ARROW_OPEN":47,"PIPE":48,"textToken":49,"commentText":50,"commentToken":51,"keywords":52,"STYLE":53,"LINKSTYLE":54,"CLASSDEF":55,"CLASS":56,"CLICK":57,"textNoTags":58,"textNoTagsToken":59,"stylesOpt":60,"HEX":61,"NUM":62,"PCT":63,"style":64,"COMMA":65,"styleComponent":66,"ALPHA":67,"COLON":68,"UNIT":69,"BRKT":70,"DOT":71,"graphCodeTokens":72,"PLUS":73,"EQUALS":74,"MULT":75,"TAG_START":76,"TAG_END":77,"QUOTE":78,"$accept":0,"$end":1}, terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[29,4],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]], +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -146,10 +146,10 @@ break; case 46: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: case 49: case 63: case 65: case 74: +case 47: case 49: case 62: case 64: case 73: this.$=$$[$0]; break; -case 48: case 64: case 66: case 75: +case 48: case 63: case 65: case 74: this.$=$$[$0-1]+''+$$[$0]; break; case 50: @@ -164,7 +164,7 @@ break; case 53: this.$ = $$[$0]; break; -case 54: case 62: +case 54: case 61: this.$ = $$[$0-1]; break; case 55: @@ -174,48 +174,45 @@ case 56: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; case 57: -$$[$01].text = $$[$0-1];this.$ = $$[$01]; -break; -case 58: this.$ = {"type":"arrow"}; break; -case 59: +case 58: this.$ = {"type":"arrow_circle"}; break; -case 60: +case 59: this.$ = {"type":"arrow_cross"}; break; -case 61: +case 60: this.$ = {"type":"arrow_open"}; break; -case 76: +case 75: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 77: +case 76: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 78: +case 77: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 79: +case 78: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 80: case 81: +case 79: case 80: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 83: +case 82: this.$ = [$$[$0]] break; -case 84: +case 83: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 86: +case 85: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{63:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:$Vn,45:$Vo,46:$Vp,47:$Vq}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},o($Vr,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),o($Vs,[2,47],{38:24,39:25,30:71,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vt,[2,49],{40:[1,72]}),o($Vu,[2,105]),o($Vu,[2,106]),o($Vu,[2,107]),o($Vu,[2,108]),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),o($Vu,[2,112]),o($Vu,[2,113]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vv,[2,22]),o($Vv,[2,23]),o($Vv,[2,29]),o($Vv,[2,30]),o($Vv,[2,31]),o($Vv,[2,24]),o($Vv,[2,25]),o($Vv,[2,26]),o($Vv,[2,27]),o($Vv,[2,28]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,50:80,51:81,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},{28:113,30:23,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VW,[2,53],{42:114,9:[1,115],48:[1,116]}),{8:$Vw,9:[1,117],10:$Vy,12:$Vz,13:$VA,32:118,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),o($VX,[2,61]),{30:120,38:24,39:25,61:[1,121],62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{62:[1,122]},{30:123,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:124,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:125,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:126,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:128,34:[1,127],39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:129,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:130,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:131,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,46]),o($Vs,[2,48]),{39:132,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$VY,11:133,16:$VZ,17:$V_,18:136},{9:$VY,11:138,16:$VZ,17:$V_,18:136},{9:$VY,11:139,16:$VZ,17:$V_,18:136},{9:$VY,11:140,16:$VZ,17:$V_,18:136},{9:$VY,11:141,16:$VZ,17:$V_,18:136},{1:[2,3]},o($Vh,[2,13]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,17:[2,82],31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,51:142,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},o($V$,[2,65]),o($V$,[2,96]),o($V$,[2,97]),o($V$,[2,98]),o($V$,[2,99]),o($V$,$V01),o($V$,[2,114]),o($V$,[2,115]),o($V$,[2,116]),o($V$,[2,117]),o($V$,[2,118]),o($V$,[2,119]),o($V$,[2,120]),o($V$,[2,121]),o($V$,[2,122]),o($V$,[2,123]),o($V$,[2,124]),o($V$,[2,125]),o($V$,[2,126]),o($V$,[2,127]),o($V$,[2,128]),o($V$,[2,101]),o($V$,$V11),o($V$,[2,103]),o($V$,[2,104]),o($V$,[2,67]),o($V$,[2,68]),o($V$,[2,69]),o($V$,[2,70]),o($V$,[2,71]),o($V$,[2,72]),o($V$,[2,73]),o($Vm,[2,32]),o($VW,[2,51],{9:[1,143]}),o($VW,[2,54]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:144,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o([44,45,46,47],$V11,{59:84,39:102,52:105,49:119,32:145,8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,40:$VI,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,41:146,44:$Vn,45:$Vo,46:$Vp,47:$Vq,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($V21,[2,63]),{9:[1,148]},{9:[1,149]},{9:[1,150]},{9:[1,151]},{9:[1,152]},{9:[1,153]},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,154],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:155,39:102,40:$VI,49:119,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,156],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,37:[1,157],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,158],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:[1,159],13:$VA,39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vt,[2,50]),o($V31,[2,5]),o($V31,[2,10]),o($V31,[2,11]),{17:[1,160]},{9:$VY,17:[2,21],18:161},o($V31,[2,6]),o($V31,[2,7]),o($V31,[2,8]),o($V31,[2,9]),o($V$,[2,66]),o($VW,[2,52]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,48:[1,162],49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:[1,163],10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,164]},o($V21,[2,64]),{9:$V41,40:$V51,60:165,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:177,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:178,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:179,61:$V61,62:$V71,64:166,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{30:180,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:181,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,34],{9:[1,182]}),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,183],39:102,40:$VI,49:147,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,38],{9:[1,184]}),o($Vr,[2,40],{9:[1,185]}),o($Vr,[2,42],{9:[1,186]}),o($Vd1,$V01,{6:$Ve1,16:$Ve1,17:$Ve1,43:$Ve1,44:$Ve1,45:$Ve1,46:$Ve1,47:$Ve1}),o($V31,[2,12]),{17:[2,20]},o([9,62,65,67,68,70,71,73,74,75],[2,62]),o($Vd1,$V11,{41:187,44:$Vn,45:$Vo,46:$Vp,47:$Vq}),o($VW,[2,57]),o($Vm,[2,79],{65:$Vf1}),o($Vg1,[2,83],{66:189,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vh1,[2,85]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vh1,[2,89]),o($Vh1,[2,90]),o($Vh1,[2,91]),o($Vh1,[2,92]),o($Vh1,[2,93]),o($Vh1,[2,94]),o($Vh1,[2,95]),o($Vm,[2,80],{65:$Vf1}),o($Vm,[2,81],{65:$Vf1}),o($Vm,[2,76],{65:$Vf1}),o($Vm,[2,77]),o($Vm,[2,78]),o($Vr,[2,35]),{35:[1,190]},o($Vr,[2,39]),o($Vr,[2,41]),o($Vr,[2,43]),o($VW,[2,55],{9:[1,191]}),{9:$V41,40:$V51,61:$V61,62:$V71,64:192,66:167,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},o($Vh1,[2,86]),o($Vr,[2,36],{9:[1,193]}),o($VW,[2,56]),o($Vg1,[2,84],{66:189,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vr,[2,37])], -defaultActions: {36:[2,1],78:[2,3],161:[2,20]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{63:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:$Vn,45:$Vo,46:$Vp,47:$Vq}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},o($Vr,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),o($Vs,[2,47],{38:24,39:25,30:71,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vt,[2,49],{40:[1,72]}),o($Vu,[2,104]),o($Vu,[2,105]),o($Vu,[2,106]),o($Vu,[2,107]),o($Vu,[2,108]),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),o($Vu,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vv,[2,22]),o($Vv,[2,23]),o($Vv,[2,29]),o($Vv,[2,30]),o($Vv,[2,31]),o($Vv,[2,24]),o($Vv,[2,25]),o($Vv,[2,26]),o($Vv,[2,27]),o($Vv,[2,28]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,50:80,51:81,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},{28:113,30:23,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VW,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},o($VX,[2,57]),o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),{30:118,38:24,39:25,61:[1,119],62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{62:[1,120]},{30:121,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:122,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:123,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:124,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:127,34:[1,126],39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:128,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:129,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:130,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,46]),o($Vs,[2,48]),{39:131,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$VY,11:132,16:$VZ,17:$V_,18:135},{9:$VY,11:137,16:$VZ,17:$V_,18:135},{9:$VY,11:138,16:$VZ,17:$V_,18:135},{9:$VY,11:139,16:$VZ,17:$V_,18:135},{9:$VY,11:140,16:$VZ,17:$V_,18:135},{1:[2,3]},o($Vh,[2,13]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,17:[2,81],31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,51:141,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},o($V$,[2,64]),o($V$,[2,95]),o($V$,[2,96]),o($V$,[2,97]),o($V$,[2,98]),o($V$,$V01),o($V$,[2,113]),o($V$,[2,114]),o($V$,[2,115]),o($V$,[2,116]),o($V$,[2,117]),o($V$,[2,118]),o($V$,[2,119]),o($V$,[2,120]),o($V$,[2,121]),o($V$,[2,122]),o($V$,[2,123]),o($V$,[2,124]),o($V$,[2,125]),o($V$,[2,126]),o($V$,[2,127]),o($V$,[2,100]),o($V$,$V11),o($V$,[2,102]),o($V$,[2,103]),o($V$,[2,66]),o($V$,[2,67]),o($V$,[2,68]),o($V$,[2,69]),o($V$,[2,70]),o($V$,[2,71]),o($V$,[2,72]),o($Vm,[2,32]),o($VW,[2,51],{9:[1,142]}),o($VW,[2,54]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:143,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:144,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,151],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($V21,[2,62]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:153,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,154],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,37:[1,155],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,156],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:[1,157],13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vt,[2,50]),o($V31,[2,5]),o($V31,[2,10]),o($V31,[2,11]),{17:[1,158]},{9:$VY,17:[2,21],18:159},o($V31,[2,6]),o($V31,[2,7]),o($V31,[2,8]),o($V31,[2,9]),o($V$,[2,65]),o($VW,[2,52]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,48:[1,160],49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:[1,161],10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$V41,40:$V51,60:162,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:174,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:175,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:176,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{30:177,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:178,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,34],{9:[1,179]}),o($V21,[2,63]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,180],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,38],{9:[1,181]}),o($Vr,[2,40],{9:[1,182]}),o($Vr,[2,42],{9:[1,183]}),o($Vd1,$V01,{6:$Ve1,16:$Ve1,17:$Ve1,43:$Ve1,44:$Ve1,45:$Ve1,46:$Ve1,47:$Ve1}),o($V31,[2,12]),{17:[2,20]},o([9,62,65,67,68,70,71,73,74,75],[2,61]),o($Vd1,$V11,{41:184,44:$Vn,45:$Vo,46:$Vp,47:$Vq}),o($Vm,[2,78],{65:$Vf1}),o($Vg1,[2,82],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vh1,[2,84]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vh1,[2,89]),o($Vh1,[2,90]),o($Vh1,[2,91]),o($Vh1,[2,92]),o($Vh1,[2,93]),o($Vh1,[2,94]),o($Vm,[2,79],{65:$Vf1}),o($Vm,[2,80],{65:$Vf1}),o($Vm,[2,75],{65:$Vf1}),o($Vm,[2,76]),o($Vm,[2,77]),o($Vr,[2,35]),{35:[1,187]},o($Vr,[2,39]),o($Vr,[2,41]),o($Vr,[2,43]),o($VW,[2,55],{9:[1,188]}),{9:$V41,40:$V51,61:$V61,62:$V71,64:189,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},o($Vh1,[2,85]),o($Vr,[2,36],{9:[1,190]}),o($VW,[2,56]),o($Vg1,[2,83],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vr,[2,37])], +defaultActions: {36:[2,1],78:[2,3],159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -781,7 +778,7 @@ case 44:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], 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,42,43,44],"inclusive":true}} }); return lexer; diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 8eb87581b..e6882af94 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -322,6 +322,17 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow_cross'); expect(edges[0].text).toBe('text including R TD space'); + }); + it('should handle `',function(){ + var res = flow.parser.parse('graph TD;A--x|text including `|B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow_cross'); + expect(edges[0].text).toBe('text including `'); + }); it('should handle keywords',function(){ var res = flow.parser.parse('graph TD;A--x|text including graph space|B;'); From f9943b6b8297b36ebec6fe92444a86e5e2b601b7 Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 4 Jan 2015 17:56:58 +0100 Subject: [PATCH 33/48] Support for different arrow types in sequence diagrams: no arrow head, cross head and regular arrow head. --- dist/mermaid.full.js | 369 +++++++++++------- dist/mermaid.full.min.js | 12 +- dist/mermaid.slim.js | 369 +++++++++++------- dist/mermaid.slim.min.js | 12 +- gulpfile.js | 2 +- package.json | 8 + .../parser/sequenceDiagram.jison | 95 +++-- .../sequenceDiagram/parser/sequenceDiagram.js | 160 ++++---- src/diagrams/sequenceDiagram/sequenceDb.js | 45 ++- .../sequenceDiagram/sequenceDiagram.spec.js | 168 +++++++- .../sequenceDiagram/sequenceRenderer.js | 32 +- src/utils.js | 1 - test/web.html | 31 +- 13 files changed, 866 insertions(+), 438 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 00eba8758..c99e841ed 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13032,11 +13032,16 @@ module.exports={ "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", + "event-stream": "^3.2.0", + "foundation": "^4.2.1-1", + "front-matter": "^0.2.0", "gulp": "~3.8.9", "gulp-browserify": "^0.5.0", "gulp-bump": "^0.1.11", "gulp-concat": "~2.4.1", + "gulp-data": "^1.1.1", "gulp-ext-replace": "~0.1.0", + "gulp-hogan": "^1.1.0", "gulp-istanbul": "^0.4.0", "gulp-jasmine": "~1.0.1", "gulp-jison": "~1.0.0", @@ -13047,6 +13052,7 @@ module.exports={ "gulp-tag-version": "^1.2.1", "gulp-uglify": "~1.0.1", "he": "^0.5.0", + "hogan.js": "^3.0.2", "jasmine": "~2.0.1", "jison": "~0.4.15", "jshint-stylish": "^1.0.0", @@ -13062,11 +13068,13 @@ module.exports={ "lodash.defaults": "^2.4.1", "lodash.templatesettings": "^2.4.1", "lodash.values": "^2.4.1", + "marked": "^0.3.2", "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", "rewire": "^2.1.3", "rimraf": "^2.2.8", + "semantic-ui": "^1.4.1", "tape": "^3.0.3" } } @@ -14388,12 +14396,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[1,56],$Vo=[1,57],$Vp=[1,58],$Vq=[1,59],$Vr=[6,16,17,43,44,45,46,47],$Vs=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],$Vt=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],$Vu=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$Vv=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vw=[1,111],$Vx=[1,103],$Vy=[1,112],$Vz=[1,86],$VA=[1,85],$VB=[1,101],$VC=[1,90],$VD=[1,91],$VE=[1,88],$VF=[1,89],$VG=[1,92],$VH=[1,93],$VI=[1,104],$VJ=[1,97],$VK=[1,98],$VL=[1,96],$VM=[1,99],$VN=[1,87],$VO=[1,106],$VP=[1,107],$VQ=[1,108],$VR=[1,109],$VS=[1,110],$VT=[1,94],$VU=[1,95],$VV=[1,100],$VW=[62,65,67,68,70,71,73,74,75],$VX=[9,48,62,65,67,68,70,71,73,74,75],$VY=[1,136],$VZ=[1,133],$V_=[1,134],$V$=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$V01=[2,99],$V11=[2,101],$V21=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$V31=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$V41=[1,170],$V51=[1,167],$V61=[1,171],$V71=[1,168],$V81=[1,165],$V91=[1,166],$Va1=[1,169],$Vb1=[1,172],$Vc1=[1,173],$Vd1=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$Ve1=[2,44],$Vf1=[1,185],$Vg1=[6,16,17,65],$Vh1=[6,9,16,17,40,61,62,65,67,68,69,70,71]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"--":43,"ARROW_POINT":44,"ARROW_CIRCLE":45,"ARROW_CROSS":46,"ARROW_OPEN":47,"PIPE":48,"textToken":49,"commentText":50,"commentToken":51,"keywords":52,"STYLE":53,"LINKSTYLE":54,"CLASSDEF":55,"CLASS":56,"CLICK":57,"textNoTags":58,"textNoTagsToken":59,"stylesOpt":60,"HEX":61,"NUM":62,"PCT":63,"style":64,"COMMA":65,"styleComponent":66,"ALPHA":67,"COLON":68,"UNIT":69,"BRKT":70,"DOT":71,"graphCodeTokens":72,"PLUS":73,"EQUALS":74,"MULT":75,"TAG_START":76,"TAG_END":77,"QUOTE":78,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14462,10 +14470,10 @@ break; case 46: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: case 49: case 60: case 62: case 71: +case 47: case 49: case 62: case 64: case 73: this.$=$$[$0]; break; -case 48: case 61: case 63: case 72: +case 48: case 63: case 65: case 74: this.$=$$[$0-1]+''+$$[$0]; break; case 50: @@ -14480,49 +14488,55 @@ break; case 53: this.$ = $$[$0]; break; -case 54: case 59: +case 54: case 61: this.$ = $$[$0-1]; break; case 55: -this.$ = {"type":"arrow"}; +$$[$0].text = $$[$0-2];this.$ = $$[$0]; break; case 56: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; case 57: -this.$ = {"type":"arrow_cross"}; +this.$ = {"type":"arrow"}; break; case 58: +this.$ = {"type":"arrow_circle"}; +break; +case 59: +this.$ = {"type":"arrow_cross"}; +break; +case 60: this.$ = {"type":"arrow_open"}; break; -case 73: +case 75: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 74: +case 76: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 75: +case 77: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 76: +case 78: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 77: case 78: +case 79: case 80: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 80: +case 82: this.$ = [$$[$0]] break; -case 81: +case 83: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 83: +case 85: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], -defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{63:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:$Vn,45:$Vo,46:$Vp,47:$Vq}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},o($Vr,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),o($Vs,[2,47],{38:24,39:25,30:71,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vt,[2,49],{40:[1,72]}),o($Vu,[2,104]),o($Vu,[2,105]),o($Vu,[2,106]),o($Vu,[2,107]),o($Vu,[2,108]),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),o($Vu,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vv,[2,22]),o($Vv,[2,23]),o($Vv,[2,29]),o($Vv,[2,30]),o($Vv,[2,31]),o($Vv,[2,24]),o($Vv,[2,25]),o($Vv,[2,26]),o($Vv,[2,27]),o($Vv,[2,28]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,50:80,51:81,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},{28:113,30:23,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VW,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},o($VX,[2,57]),o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),{30:118,38:24,39:25,61:[1,119],62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{62:[1,120]},{30:121,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:122,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:123,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:124,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:127,34:[1,126],39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:128,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:129,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:130,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,46]),o($Vs,[2,48]),{39:131,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$VY,11:132,16:$VZ,17:$V_,18:135},{9:$VY,11:137,16:$VZ,17:$V_,18:135},{9:$VY,11:138,16:$VZ,17:$V_,18:135},{9:$VY,11:139,16:$VZ,17:$V_,18:135},{9:$VY,11:140,16:$VZ,17:$V_,18:135},{1:[2,3]},o($Vh,[2,13]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,17:[2,81],31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,51:141,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},o($V$,[2,64]),o($V$,[2,95]),o($V$,[2,96]),o($V$,[2,97]),o($V$,[2,98]),o($V$,$V01),o($V$,[2,113]),o($V$,[2,114]),o($V$,[2,115]),o($V$,[2,116]),o($V$,[2,117]),o($V$,[2,118]),o($V$,[2,119]),o($V$,[2,120]),o($V$,[2,121]),o($V$,[2,122]),o($V$,[2,123]),o($V$,[2,124]),o($V$,[2,125]),o($V$,[2,126]),o($V$,[2,127]),o($V$,[2,100]),o($V$,$V11),o($V$,[2,102]),o($V$,[2,103]),o($V$,[2,66]),o($V$,[2,67]),o($V$,[2,68]),o($V$,[2,69]),o($V$,[2,70]),o($V$,[2,71]),o($V$,[2,72]),o($Vm,[2,32]),o($VW,[2,51],{9:[1,142]}),o($VW,[2,54]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:143,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:144,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,151],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($V21,[2,62]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:153,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,154],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,37:[1,155],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,156],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:[1,157],13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vt,[2,50]),o($V31,[2,5]),o($V31,[2,10]),o($V31,[2,11]),{17:[1,158]},{9:$VY,17:[2,21],18:159},o($V31,[2,6]),o($V31,[2,7]),o($V31,[2,8]),o($V31,[2,9]),o($V$,[2,65]),o($VW,[2,52]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,48:[1,160],49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:[1,161],10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$V41,40:$V51,60:162,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:174,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:175,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:176,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{30:177,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:178,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,34],{9:[1,179]}),o($V21,[2,63]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,180],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,38],{9:[1,181]}),o($Vr,[2,40],{9:[1,182]}),o($Vr,[2,42],{9:[1,183]}),o($Vd1,$V01,{6:$Ve1,16:$Ve1,17:$Ve1,43:$Ve1,44:$Ve1,45:$Ve1,46:$Ve1,47:$Ve1}),o($V31,[2,12]),{17:[2,20]},o([9,62,65,67,68,70,71,73,74,75],[2,61]),o($Vd1,$V11,{41:184,44:$Vn,45:$Vo,46:$Vp,47:$Vq}),o($Vm,[2,78],{65:$Vf1}),o($Vg1,[2,82],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vh1,[2,84]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vh1,[2,89]),o($Vh1,[2,90]),o($Vh1,[2,91]),o($Vh1,[2,92]),o($Vh1,[2,93]),o($Vh1,[2,94]),o($Vm,[2,79],{65:$Vf1}),o($Vm,[2,80],{65:$Vf1}),o($Vm,[2,75],{65:$Vf1}),o($Vm,[2,76]),o($Vm,[2,77]),o($Vr,[2,35]),{35:[1,187]},o($Vr,[2,39]),o($Vr,[2,41]),o($Vr,[2,43]),o($VW,[2,55],{9:[1,188]}),{9:$V41,40:$V51,61:$V61,62:$V71,64:189,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},o($Vh1,[2,85]),o($Vr,[2,36],{9:[1,190]}),o($VW,[2,56]),o($Vg1,[2,83],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vr,[2,37])], +defaultActions: {36:[2,1],78:[2,3],159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14996,15 +15010,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 52; +case 0:return 53; break; -case 1:return 53; +case 1:return 54; break; -case 2:return 54; +case 2:return 55; break; -case 3:return 55; +case 3:return 56; break; -case 4:return 56; +case 4:return 57; break; case 5:return 8; break; @@ -15020,74 +15034,76 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 61; +case 12:return 62; break; -case 13:return 69; +case 13:return 70; break; -case 14:return 67; +case 14:return 68; break; case 15:return 16; break; -case 16:return 64; +case 16:return 65; break; -case 17:return 73; +case 17:return 74; break; -case 18:return 74; +case 18:return 75; break; -case 19:return 70; +case 19:return 71; break; case 20:return 13; break; case 21:return 12; break; -case 22:return 14 +case 22:return 14; break; -case 23:return 15 +case 23:return 15; break; -case 24:return 45; +case 24:return 46; break; -case 25:return 43; +case 25:return 44; break; -case 26:return 44; +case 26:return 45; break; -case 27:return 46; +case 27:return 47; break; -case 28:return 40; +case 28:return 43; break; -case 29:return 72; +case 29:return 40; break; -case 30:return 62; +case 30:return 73; break; -case 31:return 73; +case 31:return 63; break; -case 32:return 66; +case 32:return 74; break; -case 33:return 47; +case 33:return 67; break; -case 34:return 34; +case 34:return 48; break; -case 35:return 35; +case 35:return 34; break; -case 36:return 31; +case 36:return 35; break; -case 37:return 33; +case 37:return 31; break; -case 38:return 36 +case 38:return 33; break; -case 39:return 37 +case 39:return 36 break; -case 40:return 77; +case 40:return 37 break; -case 41:return 17; +case 41:return 78; break; -case 42:return 9; +case 42:return 17; break; -case 43:return 6; +case 43:return 9; +break; +case 44:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44],"inclusive":true}} }); return lexer; })(); @@ -15193,87 +15209,93 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,21,32],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,16],$V9=[1,17],$Va=[2,7],$Vb=[6,8,10,11,15,17,18,19,20,21,32],$Vc=[6,8,10,11,15,17,18,19,21,32],$Vd=[1,43],$Ve=[1,46],$Vf=[1,49]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"alt":19,"else":20,"note":21,"placement":22,"text2":23,"over":24,"spaceList":25,"actor_pair":26,",":27,"left_of":28,"right_of":29,"signaltype":30,"actors":31,"ACTOR":32,"SOLID_OPEN_ARROW":33,"DOTTED_OPEN_ARROW":34,"SOLID_ARROW":35,"DOTTED_ARROW":36,"SOLID_CROSS":37,"DOTTED_CROSS":38,"TXT":39,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: - return yy; + yy.apply($$[$0-1]);return $$[$0-1]; break; -case 4: - +case 2: + this.$ = [] break; -case 6: - this.$='actor'; +case 3: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] break; -case 7: - this.$='signal'; +case 4: case 5: + this.$ = $$[$0] +break; +case 6: case 7: + this.$=[]; break; case 8: - this.$='note'; -break; -case 9: - yy.setTitle($$[$0]); -break; -case 10: - yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; -break; -case 11: - yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; +this.$=$$[$0-1]; break; case 12: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + + $$[$0-1].unshift({type: 'loopStart', loopText:$$[$0-2].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-1]; break; case 13: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + + $$[$0-3].unshift({type: 'loopStart', loopText:$$[$0-4].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-3].push({type: 'loopEnd', loopText:$$[$0-4], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-3]; break; -case 14: case 21: - this.$ = $$[$0]; -break; -case 15: - this.$ = [$$[$0-2], $$[$0]]; -break; -case 16: - this.$ = yy.PLACEMENT.LEFTOF; -break; -case 17: - this.$ = yy.PLACEMENT.RIGHTOF; +case 14: +this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; break; case 18: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = $$[$0]; break; case 19: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = [$$[$0-2], $$[$0]]; break; case 20: - this.$ = $$[$0-1] | ($$[$0] << 2); + this.$ = yy.PLACEMENT.LEFTOF; +break; +case 21: + this.$ = yy.PLACEMENT.RIGHTOF; break; case 22: - this.$ = yy.LINETYPE.SOLID; -break; -case 23: - this.$ = yy.LINETYPE.DOTTED; -break; -case 24: - this.$ = yy.ARROWTYPE.FILLED; +this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] break; case 25: - this.$ = yy.ARROWTYPE.OPEN; +this.$={type: 'addActor', actor:$$[$0]} break; case 26: - this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); + this.$ = yy.LINETYPE.SOLID_OPEN; +break; +case 27: + this.$ = yy.LINETYPE.DOTTED_OPEN; +break; +case 28: + this.$ = yy.LINETYPE.SOLID; +break; +case 29: + this.$ = yy.LINETYPE.DOTTED; +break; +case 30: + this.$ = yy.LINETYPE.SOLID_CROSS; +break; +case 31: + this.$ = yy.LINETYPE.DOTTED_CROSS; +break; +case 32: +this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], -defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($V0,$Va,{1:[2,1]}),o($Vb,[2,3]),{9:18,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($Vb,[2,5]),o($Vb,[2,6]),{12:19,32:$V9},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:$V9},{12:24,32:$V9},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},o([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),o($Vb,[2,4]),{10:[1,36]},o($Vb,[2,9]),o($Vb,[2,10]),{16:[1,37]},o($Vc,$V1,{5:38}),o([6,8,10,11,15,17,19,20,21,32],$V1,{5:39}),{12:40,32:$V9},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:$V9},{8:$Vd,25:42},{32:[2,20]},{32:[2,21]},o($Vb,[2,8]),{10:[1,44]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,45],19:$V7,21:$V8,32:$V9},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,20:[1,47],21:$V8,32:$V9},{23:48,39:$Vf},{23:50,39:$Vf},{12:52,26:51,32:$V9},{8:$Vd,25:53,32:[2,17]},o($Vb,[2,11]),o($Vb,[2,12]),o($Vb,$Va),o($Vc,$V1,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:$V9},{27:[1,56],32:[2,18]},{32:[2,16]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,57],19:$V7,21:$V8,32:$V9},{10:[2,15]},{12:58,32:$V9},o($Vb,[2,13]),{32:[2,19]}], +defaultActions: {26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15748,60 +15770,66 @@ performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 9; +case 0:return 10; break; -case 1:/* skip whitespace */ +case 1: return 37; break; -case 2:/* skip comments */ +case 2: return 38; break; -case 3:/* skip comments */ +case 3: return 35; break; -case 4:return 10; +case 4: return 36; break; -case 5:return 16; +case 5:/* skip whitespace */ break; -case 6:return 16; +case 6:/* skip comments */ break; -case 7:return 16; +case 7:/* skip comments */ break; -case 8:return 18; +case 8:return 11; break; -case 9:return 24; +case 9:return 17; break; -case 10:return 25; +case 10:return 19; break; -case 11:return 21; +case 11:return 20; break; -case 12:return 19; +case 12:return 18; break; -case 13:return 14; +case 13:return 28; break; -case 14:return 4; +case 14:return 29; break; -case 15:return 23; +case 15:return 24; break; -case 16:return 17; +case 16:return 21; break; -case 17:return 30; +case 17:return 15; break; -case 18:return 29; +case 18:return 4; break; -case 19:return 32; +case 19:return 27; break; -case 20:return 31; +case 20:return 32; break; case 21:return 33; break; -case 22:return 'CMT'; +case 22:return 34; break; -case 23:return 6; +case 23:return 35; break; -case 24:return 'INVALID'; +case 24:return 36; +break; +case 25:return 39; +break; +case 26:return 6; +break; +case 27:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15875,11 +15903,15 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2, - LOOP_START: 10, - LOOP_END : 11, + SOLID : 0, + DOTTED : 1, + NOTE : 2, + SOLID_CROSS : 3, + DOTTED_CROSS: 4, + SOLID_OPEN : 5, + DOTTED_OPEN : 6, + LOOP_START : 10, + LOOP_END : 11 }; exports.ARROWTYPE = { @@ -15904,6 +15936,37 @@ exports.addNote = function (actor, placement, message){ exports.parseError = function(err, hash) { console.log('Syntax error:' + err); }; + +exports.apply = function(param){ + if(param instanceof Array ){ + param.forEach(function(item){ + exports.apply(item); + }); + } else { + //console.log(param); + switch(param.type){ + case 'addActor': + exports.addActor(param.actor, param.actor, param.actor); + break; + case 'addNote': + exports.addNote(param.actor,param.placement, param.text); + break; + case 'addMessage': + exports.addSignal(param.from, param.to, param.msg, param.signalType); + break; + case 'loopStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.loopText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'loopEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; + } + + // console.log('xxx',param); + } +}; },{}],109:[function(require,module,exports){ /* globals d3 */ /** @@ -16106,6 +16169,24 @@ var insertArrowHead = function(elem){ .append("path") .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 20) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,0 L 8,8 M 8,0 L 0,8"); //this is actual shape for arrowhead +}; /** * Draws a message @@ -16149,7 +16230,7 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ } //Make an SVG Container //Draw the line - if (msg.type === 1) { + if (msg.type === sq.yy.LINETYPE.DOTTED || msg.type === sq.yy.LINETYPE.DOTTED_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_OPEN) { line.style("stroke-dasharray", ("3, 3")); line.attr("class", "messageLine1"); } @@ -16160,7 +16241,13 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.attr("stroke-width", 2); line.attr("stroke", "black"); line.style("fill", "none"); // remove any fill colour - line.attr("marker-end", "url(#arrowhead)"); + if (msg.type === sq.yy.LINETYPE.SOLID || msg.type === sq.yy.LINETYPE.DOTTED){ + line.attr("marker-end", "url(#arrowhead)"); + } + + if (msg.type === sq.yy.LINETYPE.SOLID_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_CROSS){ + line.attr("marker-end", "url(#crosshead)"); + } }; @@ -16235,7 +16322,8 @@ module.exports.setConf = function(cnf){ */ module.exports.draw = function (text, id) { sq.yy.clear(); - sq.parse(text); + //console.log(text); + sq.parse(text+'\n'); exports.bounds.init(); var diagram = d3.select('#'+id); @@ -16248,6 +16336,7 @@ module.exports.draw = function (text, id) { // The arrow head definition is attached to the svg once insertArrowHead(diagram); + insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ @@ -16331,7 +16420,7 @@ exports.drawText = function(elem , textData){ textElem.style('text-anchor', textData.anchor); textElem.attr('fill', textData.fill); - textData.text.split('
').forEach(function(rowText){ + textData.text.split(//ig).forEach(function(rowText){ var span = textElem.append('tspan'); span.attr('x', textData.x +textData.textMargin); span.attr('dy', textData.dy); @@ -16538,7 +16627,7 @@ global.mermaid = { */ module.exports.detectType = function(text,a){ if(text.match(/^\s*sequenceDiagram/)){ - console.log('Detected sequenceDiagram syntax'); + //console.log('Detected sequenceDiagram syntax'); return "sequenceDiagram"; } diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 2c72f9452..5bb669893 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){T(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),T=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:L,escape:T,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===S?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),l=c[0][0].getBBox().width;if(t===n){u=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else u=o.append("line"),u.attr("x1",t),u.attr("y1",i),u.attr("x2",n),u.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===a.type?(u.style("stroke-dasharray","3, 3"),u.attr("class","messageLine1")):u.attr("class","messageLine0"),u.attr("stroke-width",2),u.attr("stroke","black"),u.style("fill","none"),u.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; -r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var T=function(e,t){t=k(t,T.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};T.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:T,escape:L,unescape:T};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Tn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Sn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,jr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===S?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=w(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,T=RegExp("^["+x+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[U]=!1,Y[R]=Y[P]=Y[j]=Y[M]=Y[V]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],T=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(M,[2,42]),t(M,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],j=[1,101],M=[1,90],U=[1,91],V=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],wt=[1,169],xt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],St={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(S,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(T,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:j,31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(S,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:j,17:[2,81],31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(T,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:wt,70:xt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Tt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return St.lexer=Tt,e.prototype=St,St.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,21,32],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,16],h=[1,17],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,32],f=[6,8,10,11,15,17,18,19,21,32],g=[1,43],y=[1,46],m=[1,49],v={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,alt:19,"else":20,note:21,placement:22,text2:23,over:24,spaceList:25,actor_pair:26,",":27,left_of:28,right_of:29,signaltype:30,actors:31,ACTOR:32,SOLID_OPEN_ARROW:33,DOTTED_OPEN_ARROW:34,SOLID_ARROW:35,DOTTED_ARROW:36,SOLID_CROSS:37,DOTTED_CROSS:38,TXT:39,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-3].unshift({type:"loopStart",loopText:a[u-4].actor,signalType:n.LINETYPE.LOOP_START}),a[u-3].push({type:"loopEnd",loopText:a[u-4],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-3];break;case 14:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 18:this.$=a[u];break;case 19:this.$=[a[u-2],a[u]];break;case 20:this.$=n.PLACEMENT.LEFTOF;break;case 21:this.$=n.PLACEMENT.RIGHTOF;break;case 22:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 25:this.$={type:"addActor",actor:a[u]};break;case 26:this.$=n.LINETYPE.SOLID_OPEN;break;case 27:this.$=n.LINETYPE.DOTTED_OPEN;break;case 28:this.$=n.LINETYPE.SOLID;break;case 29:this.$=n.LINETYPE.DOTTED;break;case 30:this.$=n.LINETYPE.SOLID_CROSS;break;case 31:this.$=n.LINETYPE.DOTTED_CROSS;break;case 32:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(r,d,{1:[2,1]}),t(p,[2,3]),{9:18,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(p,[2,5]),t(p,[2,6]),{12:19,32:h},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:h},{12:24,32:h},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},t([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),t(p,[2,4]),{10:[1,36]},t(p,[2,9]),t(p,[2,10]),{16:[1,37]},t(f,n,{5:38}),t([6,8,10,11,15,17,19,20,21,32],n,{5:39}),{12:40,32:h},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:h},{8:g,25:42},{32:[2,20]},{32:[2,21]},t(p,[2,8]),{10:[1,44]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,45],19:c,21:l,32:h},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,20:[1,47],21:l,32:h},{23:48,39:m},{23:50,39:m},{12:52,26:51,32:h},{8:g,25:53,32:[2,17]},t(p,[2,11]),t(p,[2,12]),t(p,d),t(f,n,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:h},{27:[1,56],32:[2,18]},{32:[2,16]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,57],19:c,21:l,32:h},{10:[2,15]},{12:58,32:h},t(p,[2,13]),{32:[2,19]}],defaultActions:{26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},b=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 37;case 2:return 38;case 3:return 35;case 4:return 36;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 17;case 10:return 19;case 11:return 20;case 12:return 18;case 13:return 28;case 14:return 29;case 15:return 24;case 16:return 21;case 17:return 15;case 18:return 4;case 19:return 27;case 20:return 32;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 39;case 26:return 6;case 27:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return v.lexer=b,e.prototype=v,v.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",20).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,0 L 8,8 M 8,0 L 0,8")},c=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")},l=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height) +};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 2f8935012..0fb55fef3 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -13000,11 +13000,16 @@ module.exports={ "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", + "event-stream": "^3.2.0", + "foundation": "^4.2.1-1", + "front-matter": "^0.2.0", "gulp": "~3.8.9", "gulp-browserify": "^0.5.0", "gulp-bump": "^0.1.11", "gulp-concat": "~2.4.1", + "gulp-data": "^1.1.1", "gulp-ext-replace": "~0.1.0", + "gulp-hogan": "^1.1.0", "gulp-istanbul": "^0.4.0", "gulp-jasmine": "~1.0.1", "gulp-jison": "~1.0.0", @@ -13015,6 +13020,7 @@ module.exports={ "gulp-tag-version": "^1.2.1", "gulp-uglify": "~1.0.1", "he": "^0.5.0", + "hogan.js": "^3.0.2", "jasmine": "~2.0.1", "jison": "~0.4.15", "jshint-stylish": "^1.0.0", @@ -13030,11 +13036,13 @@ module.exports={ "lodash.defaults": "^2.4.1", "lodash.templatesettings": "^2.4.1", "lodash.values": "^2.4.1", + "marked": "^0.3.2", "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", "rewire": "^2.1.3", "rimraf": "^2.2.8", + "semantic-ui": "^1.4.1", "tape": "^3.0.3" } } @@ -14356,12 +14364,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[6,16,17,43,44,45,46],$Vo=[6,9,12,13,16,17,31,34,36,43,44,45,46],$Vp=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],$Vq=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$Vr=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$Vs=[1,110],$Vt=[1,102],$Vu=[1,111],$Vv=[1,85],$Vw=[1,84],$Vx=[1,100],$Vy=[1,89],$Vz=[1,90],$VA=[1,87],$VB=[1,88],$VC=[1,91],$VD=[1,92],$VE=[1,103],$VF=[1,96],$VG=[1,97],$VH=[1,95],$VI=[1,98],$VJ=[1,86],$VK=[1,105],$VL=[1,106],$VM=[1,107],$VN=[1,108],$VO=[1,109],$VP=[1,93],$VQ=[1,94],$VR=[1,99],$VS=[61,64,66,67,69,70,72,73,74],$VT=[9,47,61,64,66,67,69,70,72,73,74],$VU=[1,134],$VV=[1,131],$VW=[1,132],$VX=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],$VY=[2,97],$VZ=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$V_=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],$V$=[1,166],$V01=[1,163],$V11=[1,167],$V21=[1,164],$V31=[1,161],$V41=[1,162],$V51=[1,165],$V61=[1,168],$V71=[1,169],$V81=[2,44],$V91=[1,180],$Va1=[6,16,17,64],$Vb1=[6,9,16,17,40,60,61,64,66,67,68,69,70]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,7],$V1=[1,8],$V2=[1,18],$V3=[1,19],$V4=[1,20],$V5=[1,21],$V6=[1,22],$V7=[1,27],$V8=[1,16],$V9=[1,29],$Va=[1,26],$Vb=[1,28],$Vc=[1,34],$Vd=[1,33],$Ve=[1,30],$Vf=[1,31],$Vg=[1,32],$Vh=[1,6],$Vi=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vj=[1,46],$Vk=[1,45],$Vl=[1,44],$Vm=[6,16,17],$Vn=[1,56],$Vo=[1,57],$Vp=[1,58],$Vq=[1,59],$Vr=[6,16,17,43,44,45,46,47],$Vs=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],$Vt=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],$Vu=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$Vv=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$Vw=[1,111],$Vx=[1,103],$Vy=[1,112],$Vz=[1,86],$VA=[1,85],$VB=[1,101],$VC=[1,90],$VD=[1,91],$VE=[1,88],$VF=[1,89],$VG=[1,92],$VH=[1,93],$VI=[1,104],$VJ=[1,97],$VK=[1,98],$VL=[1,96],$VM=[1,99],$VN=[1,87],$VO=[1,106],$VP=[1,107],$VQ=[1,108],$VR=[1,109],$VS=[1,110],$VT=[1,94],$VU=[1,95],$VV=[1,100],$VW=[62,65,67,68,70,71,73,74,75],$VX=[9,48,62,65,67,68,70,71,73,74,75],$VY=[1,136],$VZ=[1,133],$V_=[1,134],$V$=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],$V01=[2,99],$V11=[2,101],$V21=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$V31=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],$V41=[1,170],$V51=[1,167],$V61=[1,171],$V71=[1,168],$V81=[1,165],$V91=[1,166],$Va1=[1,169],$Vb1=[1,172],$Vc1=[1,173],$Vd1=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],$Ve1=[2,44],$Vf1=[1,185],$Vg1=[6,16,17,65],$Vh1=[6,9,16,17,40,61,62,65,67,68,69,70,71]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"ARROW_POINT":43,"ARROW_CIRCLE":44,"ARROW_CROSS":45,"ARROW_OPEN":46,"PIPE":47,"textToken":48,"commentText":49,"commentToken":50,"keywords":51,"STYLE":52,"LINKSTYLE":53,"CLASSDEF":54,"CLASS":55,"CLICK":56,"textNoTags":57,"textNoTagsToken":58,"stylesOpt":59,"HEX":60,"NUM":61,"PCT":62,"style":63,"COMMA":64,"styleComponent":65,"ALPHA":66,"COLON":67,"UNIT":68,"BRKT":69,"DOT":70,"graphCodeTokens":71,"PLUS":72,"EQUALS":73,"MULT":74,"TAG_START":75,"TAG_END":76,"QUOTE":77,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"}, -productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]], +symbols_: {"error":2,"expressions":3,"graphConfig":4,"statements":5,"EOF":6,"spaceListNewline":7,"GRAPH":8,"SPACE":9,"DIR":10,"FirstStmtSeperator":11,"TAGEND":12,"TAGSTART":13,"UP":14,"DOWN":15,"SEMI":16,"NEWLINE":17,"spaceList":18,"statement":19,"commentStatement":20,"verticeStatement":21,"separator":22,"styleStatement":23,"linkStyleStatement":24,"classDefStatement":25,"classStatement":26,"clickStatement":27,"vertex":28,"link":29,"alphaNum":30,"SQS":31,"text":32,"SQE":33,"PS":34,"PE":35,"DIAMOND_START":36,"DIAMOND_STOP":37,"alphaNumStatement":38,"alphaNumToken":39,"MINUS":40,"linkStatement":41,"arrowText":42,"--":43,"ARROW_POINT":44,"ARROW_CIRCLE":45,"ARROW_CROSS":46,"ARROW_OPEN":47,"PIPE":48,"textToken":49,"commentText":50,"commentToken":51,"keywords":52,"STYLE":53,"LINKSTYLE":54,"CLASSDEF":55,"CLASS":56,"CLICK":57,"textNoTags":58,"textNoTagsToken":59,"stylesOpt":60,"HEX":61,"NUM":62,"PCT":63,"style":64,"COMMA":65,"styleComponent":66,"ALPHA":67,"COLON":68,"UNIT":69,"BRKT":70,"DOT":71,"graphCodeTokens":72,"PLUS":73,"EQUALS":74,"MULT":75,"TAG_START":76,"TAG_END":77,"QUOTE":78,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"}, +productions_: [0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14430,10 +14438,10 @@ break; case 46: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 47: case 49: case 60: case 62: case 71: +case 47: case 49: case 62: case 64: case 73: this.$=$$[$0]; break; -case 48: case 61: case 63: case 72: +case 48: case 63: case 65: case 74: this.$=$$[$0-1]+''+$$[$0]; break; case 50: @@ -14448,49 +14456,55 @@ break; case 53: this.$ = $$[$0]; break; -case 54: case 59: +case 54: case 61: this.$ = $$[$0-1]; break; case 55: -this.$ = {"type":"arrow"}; +$$[$0].text = $$[$0-2];this.$ = $$[$0]; break; case 56: -this.$ = {"type":"arrow_circle"}; +$$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; case 57: -this.$ = {"type":"arrow_cross"}; +this.$ = {"type":"arrow"}; break; case 58: +this.$ = {"type":"arrow_circle"}; +break; +case 59: +this.$ = {"type":"arrow_cross"}; +break; +case 60: this.$ = {"type":"arrow_open"}; break; -case 73: +case 75: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 74: +case 76: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 75: +case 77: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 76: +case 78: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 77: case 78: +case 79: case 80: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 80: +case 82: this.$ = [$$[$0]] break; -case 81: +case 83: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 83: +case 85: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{62:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},o($Vn,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),o($Vo,[2,47],{38:24,39:25,30:70,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg}),o($Vp,[2,49],{40:[1,71]}),o($Vq,[2,102]),o($Vq,[2,103]),o($Vq,[2,104]),o($Vq,[2,105]),o($Vq,[2,106]),o($Vq,[2,107]),o($Vq,[2,108]),o($Vq,[2,109]),o($Vq,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:$V2,53:$V3,54:$V4,55:$V5,56:$V6,61:$V7,62:$V8,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vr,[2,22]),o($Vr,[2,23]),o($Vr,[2,29]),o($Vr,[2,30]),o($Vr,[2,31]),o($Vr,[2,24]),o($Vr,[2,25]),o($Vr,[2,26]),o($Vr,[2,27]),o($Vr,[2,28]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,49:79,50:80,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},{28:112,30:23,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VS,[2,53],{42:113,9:[1,114],47:[1,115]}),o($VT,[2,55]),o($VT,[2,56]),o($VT,[2,57]),o($VT,[2,58]),{30:116,38:24,39:25,60:[1,117],61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{61:[1,118]},{30:119,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:120,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:121,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:122,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:125,34:[1,124],39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:126,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:127,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:128,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,46]),o($Vo,[2,48]),{39:129,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$VU,11:130,16:$VV,17:$VW,18:133},{9:$VU,11:135,16:$VV,17:$VW,18:133},{9:$VU,11:136,16:$VV,17:$VW,18:133},{9:$VU,11:137,16:$VV,17:$VW,18:133},{9:$VU,11:138,16:$VV,17:$VW,18:133},{1:[2,3]},o($Vh,[2,13]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,16:$Vx,17:[2,79],31:$Vy,33:$Vz,34:$VA,35:$VB,36:$VC,37:$VD,39:101,40:$VE,43:$VF,44:$VG,45:$VH,46:$VI,47:$VJ,48:81,50:139,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,71:82,72:$Ve,73:$Vf,74:$Vg,75:$VP,76:$VQ,77:$VR},o($VX,[2,62]),o($VX,[2,93]),o($VX,[2,94]),o($VX,[2,95]),o($VX,[2,96]),o($VX,$VY),o($VX,[2,111]),o($VX,[2,112]),o($VX,[2,113]),o($VX,[2,114]),o($VX,[2,115]),o($VX,[2,116]),o($VX,[2,117]),o($VX,[2,118]),o($VX,[2,119]),o($VX,[2,120]),o($VX,[2,121]),o($VX,[2,122]),o($VX,[2,123]),o($VX,[2,124]),o($VX,[2,125]),o($VX,[2,98]),o($VX,[2,99]),o($VX,[2,100]),o($VX,[2,101]),o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,66]),o($VX,[2,67]),o($VX,[2,68]),o($VX,[2,69]),o($VX,[2,70]),o($Vm,[2,32]),o($VS,[2,51],{9:[1,140]}),o($VS,[2,54]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:141,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,148],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($VZ,[2,60]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,32:150,39:101,40:$VE,48:123,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,151],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,37:[1,152],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,33:[1,153],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{8:$Vs,9:$Vt,10:$Vu,12:[1,154],13:$Vw,39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vp,[2,50]),o($V_,[2,5]),o($V_,[2,10]),o($V_,[2,11]),{17:[1,155]},{9:$VU,17:[2,21],18:156},o($V_,[2,6]),o($V_,[2,7]),o($V_,[2,8]),o($V_,[2,9]),o($VX,[2,63]),o($VS,[2,52]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,39:101,40:$VE,47:[1,157],48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{9:$V$,40:$V01,59:158,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:170,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:171,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{9:$V$,40:$V01,59:172,60:$V11,61:$V21,63:159,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},{30:173,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},{30:174,38:24,39:25,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,34],{9:[1,175]}),o($VZ,[2,61]),{8:$Vs,9:$Vt,10:$Vu,12:$Vv,13:$Vw,35:[1,176],39:101,40:$VE,48:149,51:104,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,58:83,61:$V7,64:$V9,66:$Va,67:$Vb,69:$Vc,70:$Vd,72:$Ve,73:$Vf,74:$Vg},o($Vn,[2,38],{9:[1,177]}),o($Vn,[2,40],{9:[1,178]}),o($Vn,[2,42],{9:[1,179]}),o([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],$VY,{6:$V81,16:$V81,17:$V81,43:$V81,44:$V81,45:$V81,46:$V81}),o($V_,[2,12]),{17:[2,20]},o([9,61,64,66,67,69,70,72,73,74],[2,59]),o($Vm,[2,76],{64:$V91}),o($Va1,[2,80],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vb1,[2,82]),o($Vb1,[2,84]),o($Vb1,[2,85]),o($Vb1,[2,86]),o($Vb1,[2,87]),o($Vb1,[2,88]),o($Vb1,[2,89]),o($Vb1,[2,90]),o($Vb1,[2,91]),o($Vb1,[2,92]),o($Vm,[2,77],{64:$V91}),o($Vm,[2,78],{64:$V91}),o($Vm,[2,73],{64:$V91}),o($Vm,[2,74]),o($Vm,[2,75]),o($Vn,[2,35]),{35:[1,182]},o($Vn,[2,39]),o($Vn,[2,41]),o($Vn,[2,43]),{9:$V$,40:$V01,60:$V11,61:$V21,63:183,65:160,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71},o($Vb1,[2,83]),o($Vn,[2,36],{9:[1,184]}),o($Va1,[2,81],{65:181,9:$V$,40:$V01,60:$V11,61:$V21,66:$V31,67:$V41,68:$V51,69:$V61,70:$V71}),o($Vn,[2,37])], -defaultActions: {36:[2,1],77:[2,3],156:[2,20]}, +table: [{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:$V0,17:$V1,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:$V0,17:$V1,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vi,[2,19],{7:40,9:$V0,17:$V1}),o($Vi,[2,18],{7:41,9:$V0,17:$V1}),{17:[1,42]},{6:$Vj,16:$Vk,17:$Vl,22:43},{6:$Vj,16:$Vk,17:$Vl,22:47},{6:$Vj,16:$Vk,17:$Vl,22:48},{6:$Vj,16:$Vk,17:$Vl,22:49},{6:$Vj,16:$Vk,17:$Vl,22:50},{6:$Vj,16:$Vk,17:$Vl,22:51},{63:[1,52]},o($Vm,[2,33],{29:53,41:54,43:[1,55],44:$Vn,45:$Vo,46:$Vp,47:$Vq}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},o($Vr,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),o($Vs,[2,47],{38:24,39:25,30:71,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg}),o($Vt,[2,49],{40:[1,72]}),o($Vu,[2,104]),o($Vu,[2,105]),o($Vu,[2,106]),o($Vu,[2,107]),o($Vu,[2,108]),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),o($Vu,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:$V2,54:$V3,55:$V4,56:$V5,57:$V6,62:$V7,63:$V8,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vh,[2,14]),o($Vi,[2,16]),o($Vi,[2,17]),o($Vv,[2,22]),o($Vv,[2,23]),o($Vv,[2,29]),o($Vv,[2,30]),o($Vv,[2,31]),o($Vv,[2,24]),o($Vv,[2,25]),o($Vv,[2,26]),o($Vv,[2,27]),o($Vv,[2,28]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,50:80,51:81,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},{28:113,30:23,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($VW,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},o($VX,[2,57]),o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),{30:118,38:24,39:25,61:[1,119],62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{62:[1,120]},{30:121,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:122,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:123,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:124,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:127,34:[1,126],39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:128,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:129,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:130,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,46]),o($Vs,[2,48]),{39:131,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$VY,11:132,16:$VZ,17:$V_,18:135},{9:$VY,11:137,16:$VZ,17:$V_,18:135},{9:$VY,11:138,16:$VZ,17:$V_,18:135},{9:$VY,11:139,16:$VZ,17:$V_,18:135},{9:$VY,11:140,16:$VZ,17:$V_,18:135},{1:[2,3]},o($Vh,[2,13]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,16:$VB,17:[2,81],31:$VC,33:$VD,34:$VE,35:$VF,36:$VG,37:$VH,39:102,40:$VI,44:$VJ,45:$VK,46:$VL,47:$VM,48:$VN,49:82,51:141,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,72:83,73:$Ve,74:$Vf,75:$Vg,76:$VT,77:$VU,78:$VV},o($V$,[2,64]),o($V$,[2,95]),o($V$,[2,96]),o($V$,[2,97]),o($V$,[2,98]),o($V$,$V01),o($V$,[2,113]),o($V$,[2,114]),o($V$,[2,115]),o($V$,[2,116]),o($V$,[2,117]),o($V$,[2,118]),o($V$,[2,119]),o($V$,[2,120]),o($V$,[2,121]),o($V$,[2,122]),o($V$,[2,123]),o($V$,[2,124]),o($V$,[2,125]),o($V$,[2,126]),o($V$,[2,127]),o($V$,[2,100]),o($V$,$V11),o($V$,[2,102]),o($V$,[2,103]),o($V$,[2,66]),o($V$,[2,67]),o($V$,[2,68]),o($V$,[2,69]),o($V$,[2,70]),o($V$,[2,71]),o($V$,[2,72]),o($Vm,[2,32]),o($VW,[2,51],{9:[1,142]}),o($VW,[2,54]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:143,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:144,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,151],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($V21,[2,62]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,32:153,39:102,40:$VI,49:125,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,154],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,37:[1,155],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,33:[1,156],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:$Vx,10:$Vy,12:[1,157],13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vt,[2,50]),o($V31,[2,5]),o($V31,[2,10]),o($V31,[2,11]),{17:[1,158]},{9:$VY,17:[2,21],18:159},o($V31,[2,6]),o($V31,[2,7]),o($V31,[2,8]),o($V31,[2,9]),o($V$,[2,65]),o($VW,[2,52]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,48:[1,160],49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{8:$Vw,9:[1,161],10:$Vy,12:$Vz,13:$VA,39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{9:$V41,40:$V51,60:162,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:174,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:175,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{9:$V41,40:$V51,60:176,61:$V61,62:$V71,64:163,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},{30:177,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},{30:178,38:24,39:25,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,34],{9:[1,179]}),o($V21,[2,63]),{8:$Vw,9:$Vx,10:$Vy,12:$Vz,13:$VA,35:[1,180],39:102,40:$VI,49:152,52:105,53:$VO,54:$VP,55:$VQ,56:$VR,57:$VS,59:84,62:$V7,65:$V9,67:$Va,68:$Vb,70:$Vc,71:$Vd,73:$Ve,74:$Vf,75:$Vg},o($Vr,[2,38],{9:[1,181]}),o($Vr,[2,40],{9:[1,182]}),o($Vr,[2,42],{9:[1,183]}),o($Vd1,$V01,{6:$Ve1,16:$Ve1,17:$Ve1,43:$Ve1,44:$Ve1,45:$Ve1,46:$Ve1,47:$Ve1}),o($V31,[2,12]),{17:[2,20]},o([9,62,65,67,68,70,71,73,74,75],[2,61]),o($Vd1,$V11,{41:184,44:$Vn,45:$Vo,46:$Vp,47:$Vq}),o($Vm,[2,78],{65:$Vf1}),o($Vg1,[2,82],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vh1,[2,84]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vh1,[2,89]),o($Vh1,[2,90]),o($Vh1,[2,91]),o($Vh1,[2,92]),o($Vh1,[2,93]),o($Vh1,[2,94]),o($Vm,[2,79],{65:$Vf1}),o($Vm,[2,80],{65:$Vf1}),o($Vm,[2,75],{65:$Vf1}),o($Vm,[2,76]),o($Vm,[2,77]),o($Vr,[2,35]),{35:[1,187]},o($Vr,[2,39]),o($Vr,[2,41]),o($Vr,[2,43]),o($VW,[2,55],{9:[1,188]}),{9:$V41,40:$V51,61:$V61,62:$V71,64:189,66:164,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1},o($Vh1,[2,85]),o($Vr,[2,36],{9:[1,190]}),o($VW,[2,56]),o($Vg1,[2,83],{66:186,9:$V41,40:$V51,61:$V61,62:$V71,67:$V81,68:$V91,69:$Va1,70:$Vb1,71:$Vc1}),o($Vr,[2,37])], +defaultActions: {36:[2,1],78:[2,3],159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -14964,15 +14978,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 52; +case 0:return 53; break; -case 1:return 53; +case 1:return 54; break; -case 2:return 54; +case 2:return 55; break; -case 3:return 55; +case 3:return 56; break; -case 4:return 56; +case 4:return 57; break; case 5:return 8; break; @@ -14988,74 +15002,76 @@ case 10:return 10; break; case 11:return 10; break; -case 12:return 61; +case 12:return 62; break; -case 13:return 69; +case 13:return 70; break; -case 14:return 67; +case 14:return 68; break; case 15:return 16; break; -case 16:return 64; +case 16:return 65; break; -case 17:return 73; +case 17:return 74; break; -case 18:return 74; +case 18:return 75; break; -case 19:return 70; +case 19:return 71; break; case 20:return 13; break; case 21:return 12; break; -case 22:return 14 +case 22:return 14; break; -case 23:return 15 +case 23:return 15; break; -case 24:return 45; +case 24:return 46; break; -case 25:return 43; +case 25:return 44; break; -case 26:return 44; +case 26:return 45; break; -case 27:return 46; +case 27:return 47; break; -case 28:return 40; +case 28:return 43; break; -case 29:return 72; +case 29:return 40; break; -case 30:return 62; +case 30:return 73; break; -case 31:return 73; +case 31:return 63; break; -case 32:return 66; +case 32:return 74; break; -case 33:return 47; +case 33:return 67; break; -case 34:return 34; +case 34:return 48; break; -case 35:return 35; +case 35:return 34; break; -case 36:return 31; +case 36:return 35; break; -case 37:return 33; +case 37:return 31; break; -case 38:return 36 +case 38:return 33; break; -case 39:return 37 +case 39:return 36 break; -case 40:return 77; +case 40:return 37 break; -case 41:return 17; +case 41:return 78; break; -case 42:return 9; +case 42:return 17; break; -case 43:return 6; +case 43:return 9; +break; +case 44:return 6; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44],"inclusive":true}} }); return lexer; })(); @@ -15161,87 +15177,93 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,21,32],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,16],$V9=[1,17],$Va=[2,7],$Vb=[6,8,10,11,15,17,18,19,20,21,32],$Vc=[6,8,10,11,15,17,18,19,21,32],$Vd=[1,43],$Ve=[1,46],$Vf=[1,49]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"alt":19,"else":20,"note":21,"placement":22,"text2":23,"over":24,"spaceList":25,"actor_pair":26,",":27,"left_of":28,"right_of":29,"signaltype":30,"actors":31,"ACTOR":32,"SOLID_OPEN_ARROW":33,"DOTTED_OPEN_ARROW":34,"SOLID_ARROW":35,"DOTTED_ARROW":36,"SOLID_CROSS":37,"DOTTED_CROSS":38,"TXT":39,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: - return yy; + yy.apply($$[$0-1]);return $$[$0-1]; break; -case 4: - +case 2: + this.$ = [] break; -case 6: - this.$='actor'; +case 3: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] break; -case 7: - this.$='signal'; +case 4: case 5: + this.$ = $$[$0] +break; +case 6: case 7: + this.$=[]; break; case 8: - this.$='note'; -break; -case 9: - yy.setTitle($$[$0]); -break; -case 10: - yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; -break; -case 11: - yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; +this.$=$$[$0-1]; break; case 12: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + + $$[$0-1].unshift({type: 'loopStart', loopText:$$[$0-2].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-1]; break; case 13: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + + $$[$0-3].unshift({type: 'loopStart', loopText:$$[$0-4].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-3].push({type: 'loopEnd', loopText:$$[$0-4], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-3]; break; -case 14: case 21: - this.$ = $$[$0]; -break; -case 15: - this.$ = [$$[$0-2], $$[$0]]; -break; -case 16: - this.$ = yy.PLACEMENT.LEFTOF; -break; -case 17: - this.$ = yy.PLACEMENT.RIGHTOF; +case 14: +this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; break; case 18: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = $$[$0]; break; case 19: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = [$$[$0-2], $$[$0]]; break; case 20: - this.$ = $$[$0-1] | ($$[$0] << 2); + this.$ = yy.PLACEMENT.LEFTOF; +break; +case 21: + this.$ = yy.PLACEMENT.RIGHTOF; break; case 22: - this.$ = yy.LINETYPE.SOLID; -break; -case 23: - this.$ = yy.LINETYPE.DOTTED; -break; -case 24: - this.$ = yy.ARROWTYPE.FILLED; +this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] break; case 25: - this.$ = yy.ARROWTYPE.OPEN; +this.$={type: 'addActor', actor:$$[$0]} break; case 26: - this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); + this.$ = yy.LINETYPE.SOLID_OPEN; +break; +case 27: + this.$ = yy.LINETYPE.DOTTED_OPEN; +break; +case 28: + this.$ = yy.LINETYPE.SOLID; +break; +case 29: + this.$ = yy.LINETYPE.DOTTED; +break; +case 30: + this.$ = yy.LINETYPE.SOLID_CROSS; +break; +case 31: + this.$ = yy.LINETYPE.DOTTED_CROSS; +break; +case 32: +this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], -defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($V0,$Va,{1:[2,1]}),o($Vb,[2,3]),{9:18,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($Vb,[2,5]),o($Vb,[2,6]),{12:19,32:$V9},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:$V9},{12:24,32:$V9},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},o([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),o($Vb,[2,4]),{10:[1,36]},o($Vb,[2,9]),o($Vb,[2,10]),{16:[1,37]},o($Vc,$V1,{5:38}),o([6,8,10,11,15,17,19,20,21,32],$V1,{5:39}),{12:40,32:$V9},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:$V9},{8:$Vd,25:42},{32:[2,20]},{32:[2,21]},o($Vb,[2,8]),{10:[1,44]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,45],19:$V7,21:$V8,32:$V9},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,20:[1,47],21:$V8,32:$V9},{23:48,39:$Vf},{23:50,39:$Vf},{12:52,26:51,32:$V9},{8:$Vd,25:53,32:[2,17]},o($Vb,[2,11]),o($Vb,[2,12]),o($Vb,$Va),o($Vc,$V1,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:$V9},{27:[1,56],32:[2,18]},{32:[2,16]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,57],19:$V7,21:$V8,32:$V9},{10:[2,15]},{12:58,32:$V9},o($Vb,[2,13]),{32:[2,19]}], +defaultActions: {26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15716,60 +15738,66 @@ performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 9; +case 0:return 10; break; -case 1:/* skip whitespace */ +case 1: return 37; break; -case 2:/* skip comments */ +case 2: return 38; break; -case 3:/* skip comments */ +case 3: return 35; break; -case 4:return 10; +case 4: return 36; break; -case 5:return 16; +case 5:/* skip whitespace */ break; -case 6:return 16; +case 6:/* skip comments */ break; -case 7:return 16; +case 7:/* skip comments */ break; -case 8:return 18; +case 8:return 11; break; -case 9:return 24; +case 9:return 17; break; -case 10:return 25; +case 10:return 19; break; -case 11:return 21; +case 11:return 20; break; -case 12:return 19; +case 12:return 18; break; -case 13:return 14; +case 13:return 28; break; -case 14:return 4; +case 14:return 29; break; -case 15:return 23; +case 15:return 24; break; -case 16:return 17; +case 16:return 21; break; -case 17:return 30; +case 17:return 15; break; -case 18:return 29; +case 18:return 4; break; -case 19:return 32; +case 19:return 27; break; -case 20:return 31; +case 20:return 32; break; case 21:return 33; break; -case 22:return 'CMT'; +case 22:return 34; break; -case 23:return 6; +case 23:return 35; break; -case 24:return 'INVALID'; +case 24:return 36; +break; +case 25:return 39; +break; +case 26:return 6; +break; +case 27:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15843,11 +15871,15 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2, - LOOP_START: 10, - LOOP_END : 11, + SOLID : 0, + DOTTED : 1, + NOTE : 2, + SOLID_CROSS : 3, + DOTTED_CROSS: 4, + SOLID_OPEN : 5, + DOTTED_OPEN : 6, + LOOP_START : 10, + LOOP_END : 11 }; exports.ARROWTYPE = { @@ -15872,6 +15904,37 @@ exports.addNote = function (actor, placement, message){ exports.parseError = function(err, hash) { console.log('Syntax error:' + err); }; + +exports.apply = function(param){ + if(param instanceof Array ){ + param.forEach(function(item){ + exports.apply(item); + }); + } else { + //console.log(param); + switch(param.type){ + case 'addActor': + exports.addActor(param.actor, param.actor, param.actor); + break; + case 'addNote': + exports.addNote(param.actor,param.placement, param.text); + break; + case 'addMessage': + exports.addSignal(param.from, param.to, param.msg, param.signalType); + break; + case 'loopStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.loopText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'loopEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; + } + + // console.log('xxx',param); + } +}; },{}],109:[function(require,module,exports){ /* globals d3 */ /** @@ -16074,6 +16137,24 @@ var insertArrowHead = function(elem){ .append("path") .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 20) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,0 L 8,8 M 8,0 L 0,8"); //this is actual shape for arrowhead +}; /** * Draws a message @@ -16117,7 +16198,7 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ } //Make an SVG Container //Draw the line - if (msg.type === 1) { + if (msg.type === sq.yy.LINETYPE.DOTTED || msg.type === sq.yy.LINETYPE.DOTTED_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_OPEN) { line.style("stroke-dasharray", ("3, 3")); line.attr("class", "messageLine1"); } @@ -16128,7 +16209,13 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.attr("stroke-width", 2); line.attr("stroke", "black"); line.style("fill", "none"); // remove any fill colour - line.attr("marker-end", "url(#arrowhead)"); + if (msg.type === sq.yy.LINETYPE.SOLID || msg.type === sq.yy.LINETYPE.DOTTED){ + line.attr("marker-end", "url(#arrowhead)"); + } + + if (msg.type === sq.yy.LINETYPE.SOLID_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_CROSS){ + line.attr("marker-end", "url(#crosshead)"); + } }; @@ -16203,7 +16290,8 @@ module.exports.setConf = function(cnf){ */ module.exports.draw = function (text, id) { sq.yy.clear(); - sq.parse(text); + //console.log(text); + sq.parse(text+'\n'); exports.bounds.init(); var diagram = d3.select('#'+id); @@ -16216,6 +16304,7 @@ module.exports.draw = function (text, id) { // The arrow head definition is attached to the svg once insertArrowHead(diagram); + insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ @@ -16299,7 +16388,7 @@ exports.drawText = function(elem , textData){ textElem.style('text-anchor', textData.anchor); textElem.attr('fill', textData.fill); - textData.text.split('
').forEach(function(rowText){ + textData.text.split(//ig).forEach(function(rowText){ var span = textElem.append('tspan'); span.attr('x', textData.x +textData.textMargin); span.attr('dy', textData.dy); @@ -16506,7 +16595,7 @@ global.mermaid = { */ module.exports.detectType = function(text,a){ if(text.match(/^\s*sequenceDiagram/)){ - console.log('Detected sequenceDiagram syntax'); + //console.log('Detected sequenceDiagram syntax'); return "sequenceDiagram"; } diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 7d2cfa87e..5833b3f47 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?T.time:T.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){w.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(T.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){E.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){L(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){E.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){w.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,R))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,O),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};T.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(T.intersectRect(a,r)),i.points.push(T.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=T.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){T.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),w=e("./acyclic"),E=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),L=e("./position"),T=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],O=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){T(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),T=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,E={},x=E.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=w(e>>>10&1023|55296),e=56320|1023&e),r+=w(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var L=function(e,t){t=k(t,L.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};L.options={isAttributeValue:!1,strict:!1};var T=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:L,escape:T,unescape:L};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=w&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Qn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Qn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Qn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Ln(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=w&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=E(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Qn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function zt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Qn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,zn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=w&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):zn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function Er(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?X(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Or(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=Rn(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=Rn(g,y))}return m&&s?s=Sn(s):s||t===h||(s=Rn(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return Rn(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return Rn(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function zr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),Y.leading=n,Y.maxWait=t,Y.trailing=i,jr(e,t,Y)}function Yr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return E(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":En(e).replace(ii,ot)}function Jr(e){return e}function Qr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Xr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return zn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=En(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||T,d="__p += '",p=wn((n.escape||T).source+"|"+h.source+"|"+(h===S?C:T).source+"|"+(n.evaluate||T).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+R++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=E(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Jn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Qn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Xn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Xn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=Et(ti),ni=wn("("+ei(ri).join("|")+")","g"),ii=wn("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=E(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,L=RegExp("^["+x+"]*0+(?=.$)"),T=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],R=0,O="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",z={};z[U]=!1,z[O]=z[P]=z[j]=z[M]=z[V]=z[G]=z[$]=z[H]=!0;var Y={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},J=Z[typeof window]&&window||this,Q=Z[typeof r]&&r&&!r.nodeType&&r,X=Z[typeof t]&&t&&!t.nodeType&&t,et=X&&X.exports===Q&&Q,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(J=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(J._=rt,define(function(){return rt})):Q&&X?et?(X.exports=rt)._=rt:Q._=rt:J._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-ext-replace":"~0.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],w=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],E=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],L=[1,66],T=[1,67],N=[1,68],q=[1,69],I=[1,70],R=[1,71],O=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(w,[2,8]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(w,[2,13]),t(w,[2,14]),t(w,[2,15]),t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(E,[2,23]),t(E,[2,24]),t(E,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(E,[2,27],{41:46,43:47,57:k,58:C}),t(E,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(w,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(E,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(E,[2,46]),t(E,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(E,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(E,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(E,[2,39]),{39:[1,89]},t(E,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:L,50:T,51:N,52:q,53:I,54:R,55:O,56:P}),t(M,[2,42]),t(M,[2,43]),t(E,[2,33],{34:96,37:F}),t(E,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(E,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],w=[1,46],E=[1,45],x=[1,44],_=[6,16,17],D=[6,16,17,43,44,45,46],k=[6,9,12,13,16,17,31,34,36,43,44,45,46],C=[6,9,12,13,16,17,31,34,36,43,44,45,46,61,64,66,67,69,70,72,73,74],F=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],B=[1,6,9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],S=[1,110],L=[1,102],T=[1,111],N=[1,85],q=[1,84],I=[1,100],R=[1,89],O=[1,90],P=[1,87],j=[1,88],M=[1,91],U=[1,92],V=[1,103],G=[1,96],$=[1,97],H=[1,95],z=[1,98],Y=[1,86],W=[1,105],Z=[1,106],K=[1,107],J=[1,108],Q=[1,109],X=[1,93],et=[1,94],tt=[1,99],rt=[61,64,66,67,69,70,72,73,74],nt=[9,47,61,64,66,67,69,70,72,73,74],it=[1,134],at=[1,131],ut=[1,132],ot=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74,75,76,77],st=[2,97],ct=[8,9,10,12,13,33,35,37,40,47,52,53,54,55,56,61,64,66,67,69,70,72,73,74],lt=[9,17,52,53,54,55,56,61,62,64,66,67,69,70,72,73,74],ht=[1,166],dt=[1,163],pt=[1,167],ft=[1,164],gt=[1,161],yt=[1,162],mt=[1,165],vt=[1,168],bt=[1,169],At=[2,44],wt=[1,180],Et=[6,16,17,64],xt=[6,9,16,17,40,60,61,64,66,67,68,69,70],_t={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,ARROW_POINT:43,ARROW_CIRCLE:44,ARROW_CROSS:45,ARROW_OPEN:46,PIPE:47,textToken:48,commentText:49,commentToken:50,keywords:51,STYLE:52,LINKSTYLE:53,CLASSDEF:54,CLASS:55,CLICK:56,textNoTags:57,textNoTagsToken:58,stylesOpt:59,HEX:60,NUM:61,PCT:62,style:63,COMMA:64,styleComponent:65,ALPHA:66,COLON:67,UNIT:68,BRKT:69,DOT:70,graphCodeTokens:71,PLUS:72,EQUALS:73,MULT:74,TAG_START:75,TAG_END:76,QUOTE:77,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"ARROW_POINT",44:"ARROW_CIRCLE",45:"ARROW_CROSS",46:"ARROW_OPEN",47:"PIPE",52:"STYLE",53:"LINKSTYLE",54:"CLASSDEF",55:"CLASS",56:"CLICK",60:"HEX",61:"NUM",62:"PCT",64:"COMMA",66:"ALPHA",67:"COLON",68:"UNIT",69:"BRKT",70:"DOT",72:"PLUS",73:"EQUALS",74:"MULT",75:"TAG_START",76:"TAG_END",77:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[49,1],[49,2],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[51,1],[57,1],[57,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[59,1],[59,3],[63,1],[63,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[50,1],[50,1],[48,1],[48,1],[48,1],[58,1],[58,1],[58,1],[58,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1],[71,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 60:case 62:case 71:this.$=a[u];break;case 48:case 61:case 63:case 72:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 59:this.$=a[u-1];break;case 55:this.$={type:"arrow"};break;case 56:this.$={type:"arrow_circle"};break;case 57:this.$={type:"arrow_cross"};break;case 58:this.$={type:"arrow_open"};break;case 73:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 74:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 75:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 77:case 78:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 80:this.$=[a[u]];break;case 81:a[u-2].push(a[u]),this.$=a[u-2];break;case 83:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:w,16:E,17:x,22:43},{6:w,16:E,17:x,22:47},{6:w,16:E,17:x,22:48},{6:w,16:E,17:x,22:49},{6:w,16:E,17:x,22:50},{6:w,16:E,17:x,22:51},{62:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:[1,56],45:[1,57],46:[1,58]}),{9:[1,59]},{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},t(D,[2,45],{9:[1,69],12:[1,67],13:[1,68],31:[1,64],34:[1,65],36:[1,66]}),t(k,[2,47],{38:24,39:25,30:70,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v}),t(C,[2,49],{40:[1,71]}),t(F,[2,102]),t(F,[2,103]),t(F,[2,104]),t(F,[2,105]),t(F,[2,106]),t(F,[2,107]),t(F,[2,108]),t(F,[2,109]),t(F,[2,110]),{10:[1,72],12:[1,73],13:[1,74],14:[1,75],15:[1,76]},{1:[2,1]},{1:[2,4],6:[1,77]},{5:78,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,52:i,53:a,54:u,55:o,56:s,61:c,62:l,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(B,[2,22]),t(B,[2,23]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),{8:S,9:L,10:T,12:N,13:q,16:I,31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,49:79,50:80,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},{28:112,30:23,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(rt,[2,53],{42:113,9:[1,114],47:[1,115]}),t(nt,[2,55]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),{30:116,38:24,39:25,60:[1,117],61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{61:[1,118]},{30:119,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:120,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:121,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:122,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:125,34:[1,124],39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:126,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:127,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,32:128,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,46]),t(k,[2,48]),{39:129,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:it,11:130,16:at,17:ut,18:133},{9:it,11:135,16:at,17:ut,18:133},{9:it,11:136,16:at,17:ut,18:133},{9:it,11:137,16:at,17:ut,18:133},{9:it,11:138,16:at,17:ut,18:133},{1:[2,3]},t(b,[2,13]),{8:S,9:L,10:T,12:N,13:q,16:I,17:[2,79],31:R,33:O,34:P,35:j,36:M,37:U,39:101,40:V,43:G,44:$,45:H,46:z,47:Y,48:81,50:139,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,71:82,72:y,73:m,74:v,75:X,76:et,77:tt},t(ot,[2,62]),t(ot,[2,93]),t(ot,[2,94]),t(ot,[2,95]),t(ot,[2,96]),t(ot,st),t(ot,[2,111]),t(ot,[2,112]),t(ot,[2,113]),t(ot,[2,114]),t(ot,[2,115]),t(ot,[2,116]),t(ot,[2,117]),t(ot,[2,118]),t(ot,[2,119]),t(ot,[2,120]),t(ot,[2,121]),t(ot,[2,122]),t(ot,[2,123]),t(ot,[2,124]),t(ot,[2,125]),t(ot,[2,98]),t(ot,[2,99]),t(ot,[2,100]),t(ot,[2,101]),t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,66]),t(ot,[2,67]),t(ot,[2,68]),t(ot,[2,69]),t(ot,[2,70]),t(_,[2,32]),t(rt,[2,51],{9:[1,140]}),t(rt,[2,54]),{8:S,9:L,10:T,12:N,13:q,32:141,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:[1,142]},{9:[1,143]},{9:[1,144]},{9:[1,145]},{9:[1,146]},{9:[1,147]},{8:S,9:L,10:T,12:N,13:q,33:[1,148],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(ct,[2,60]),{8:S,9:L,10:T,12:N,13:q,32:150,39:101,40:V,48:123,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,35:[1,151],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,37:[1,152],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:N,13:q,33:[1,153],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{8:S,9:L,10:T,12:[1,154],13:q,39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(C,[2,50]),t(lt,[2,5]),t(lt,[2,10]),t(lt,[2,11]),{17:[1,155]},{9:it,17:[2,21],18:156},t(lt,[2,6]),t(lt,[2,7]),t(lt,[2,8]),t(lt,[2,9]),t(ot,[2,63]),t(rt,[2,52]),{8:S,9:L,10:T,12:N,13:q,39:101,40:V,47:[1,157],48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{9:ht,40:dt,59:158,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:170,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:171,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{9:ht,40:dt,59:172,60:pt,61:ft,63:159,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},{30:173,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},{30:174,38:24,39:25,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,34],{9:[1,175]}),t(ct,[2,61]),{8:S,9:L,10:T,12:N,13:q,35:[1,176],39:101,40:V,48:149,51:104,52:W,53:Z,54:K,55:J,56:Q,58:83,61:c,64:h,66:d,67:p,69:f,70:g,72:y,73:m,74:v},t(D,[2,38],{9:[1,177]}),t(D,[2,40],{9:[1,178]}),t(D,[2,42],{9:[1,179]}),t([8,9,10,12,13,40,52,53,54,55,56,61,64,66,67,69,70,72,73,74],st,{6:At,16:At,17:At,43:At,44:At,45:At,46:At}),t(lt,[2,12]),{17:[2,20]},t([9,61,64,66,67,69,70,72,73,74],[2,59]),t(_,[2,76],{64:wt}),t(Et,[2,80],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(xt,[2,82]),t(xt,[2,84]),t(xt,[2,85]),t(xt,[2,86]),t(xt,[2,87]),t(xt,[2,88]),t(xt,[2,89]),t(xt,[2,90]),t(xt,[2,91]),t(xt,[2,92]),t(_,[2,77],{64:wt}),t(_,[2,78],{64:wt}),t(_,[2,73],{64:wt}),t(_,[2,74]),t(_,[2,75]),t(D,[2,35]),{35:[1,182]},t(D,[2,39]),t(D,[2,41]),t(D,[2,43]),{9:ht,40:dt,60:pt,61:ft,63:183,65:160,66:gt,67:yt,68:mt,69:vt,70:bt},t(xt,[2,83]),t(D,[2,36],{9:[1,184]}),t(Et,[2,81],{65:181,9:ht,40:dt,60:pt,61:ft,66:gt,67:yt,68:mt,69:vt,70:bt}),t(D,[2,37])],defaultActions:{36:[2,1],77:[2,3],156:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Dt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:return 56;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 61;case 13:return 69;case 14:return 67;case 15:return 16;case 16:return 64;case 17:return 73;case 18:return 74;case 19:return 70;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 45;case 25:return 43;case 26:return 44;case 27:return 46;case 28:return 40;case 29:return 72;case 30:return 62;case 31:return 73;case 32:return 66;case 33:return 47;case 34:return 34;case 35:return 35;case 36:return 31;case 37:return 33;case 38:return 36;case 39:return 37;case 40:return 77;case 41:return 17;case 42:return 9;case 43:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43],inclusive:!0}}};return e}();return _t.lexer=Dt,e.prototype=_t,_t.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,9,10,14,16,17,18,19],n=[1,16],i=[1,19],a=[17,31,32],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,statement:8,NL:9,participant:10,actor:11,signal:12,note_statement:13,title:14,message:15,loop:16,ACTOR:17,end:18,note:19,placement:20,over:21,actor_pair:22,",":23,left_of:24,right_of:25,signaltype:26,linetype:27,arrowtype:28,LINE:29,DOTLINE:30,ARROW:31,OPENARROW:32,MESSAGE:33,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n;case 4:break;case 6:this.$="actor";break;case 7:this.$="signal";break;case 8:this.$="note";break;case 9:n.setTitle(a[u]);break;case 10:n.addSignal(void 0,void 0,a[u],n.LINETYPE.LOOP_START),this.$="loop";break;case 11:n.addSignal(void 0,void 0,void 0,n.LINETYPE.LOOP_END),this.$="loop";break;case 12:this.$=n.addNote(a[u-1],a[u-2],a[u]);break;case 13:this.$=n.addNote(a[u-1],n.PLACEMENT.OVER,a[u]);break;case 14:case 21:this.$=a[u];break;case 15:this.$=[a[u-2],a[u]];break;case 16:this.$=n.PLACEMENT.LEFTOF;break;case 17:this.$=n.PLACEMENT.RIGHTOF;break;case 18:n.addSignal(a[u-3],a[u-1],a[u],a[u-2]);break;case 19:n.addActor(a[u],a[u],a[u]);break;case 20:this.$=a[u-1]|a[u]<<2;break;case 22:this.$=n.LINETYPE.SOLID;break;case 23:this.$=n.LINETYPE.DOTTED;break;case 24:this.$=n.ARROWTYPE.FILLED;break;case 25:this.$=n.ARROWTYPE.OPEN;break;case 26:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:n,18:[1,13],19:[1,15]},{1:[2,1]},t(r,[2,3]),t(r,[2,4]),t(r,[2,5]),{11:17,17:n},t(r,[2,7]),t(r,[2,8]),{15:18,33:i},{17:[1,20]},t(r,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},t([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),t(r,[2,6]),t(r,[2,9]),t(r,[2,26]),t(r,[2,10]),{11:29,17:n},{17:[2,21],28:30,31:[1,31],32:[1,32]},t(a,[2,22]),t(a,[2,23]),{11:33,17:n},{11:35,17:n,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:i},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:i},{15:38,33:i},{23:[1,39],33:[2,14]},t(r,[2,18]),t(r,[2,12]),t(r,[2,13]),{11:40,17:n},{33:[2,15]}],defaultActions:{4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,w,E,x,_,D,k,C,F={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:((null===b||"undefined"==typeof b)&&(b=t()),E=u[w]&&u[w][b]),"undefined"==typeof E||!E.length||!E[0]){var B="";C=[];for(_ in u[w])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(E[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(E[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[E[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,E[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},o=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 9;case 1:break;case 2:break;case 3:break;case 4:return 10;case 5:return 16;case 6:return 16;case 7:return 16;case 8:return 18;case 9:return 24;case 10:return 25;case 11:return 21;case 12:return 19;case 13:return 14;case 14:return 4;case 15:return 23;case 16:return 17;case 17:return 30;case 18:return 29;case 19:return 32;case 20:return 31;case 21:return 33;case 22:return"CMT";case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return u.lexer=o,e.prototype=u,u.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e,t,n,i,a){var u,o=e.append("g"),s=t+(n-t)/2,c=o.append("text").attr("x",s).attr("y",i-7).style("text-anchor","middle").attr("class","messageText").text(a.message),l=c[0][0].getBBox().width;if(t===n){u=o.append("path").attr("d","M "+t+","+i+" C "+(t+60)+","+(i-10)+" "+(t+60)+","+(i+30)+" "+t+","+(i+20)),r.bounds.bumpVerticalPos(30);var h=Math.max(l/2,100);r.bounds.insert(t-h,r.bounds.getVerticalPos()-10,n+h,r.bounds.getVerticalPos())}else u=o.append("line"),u.attr("x1",t),u.attr("y1",i),u.attr("x2",n),u.attr("y2",i),r.bounds.insert(t,r.bounds.getVerticalPos()-10,n,r.bounds.getVerticalPos());1===a.type?(u.style("stroke-dasharray","3, 3"),u.attr("class","messageLine1")):u.attr("class","messageLine0"),u.attr("stroke-width",2),u.attr("stroke","black"),u.style("fill","none"),u.attr("marker-end","url(#arrowhead)")},c=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height)};t.exports.drawActors=function(e,t,n){var i;for(i=0;i").forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox"; -r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?(console.log("Detected sequenceDiagram syntax"),"sequenceDiagram"):e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var T=function(e,t){t=k(t,T.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};T.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:T,escape:L,unescape:T};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Tn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Sn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,jr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===S?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=w(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,T=RegExp("^["+x+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[U]=!1,Y[R]=Y[P]=Y[j]=Y[M]=Y[V]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],T=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(M,[2,42]),t(M,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],j=[1,101],M=[1,90],U=[1,91],V=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],wt=[1,169],xt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],St={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(S,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(T,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:j,31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(S,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:j,17:[2,81],31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(T,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:wt,70:xt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Tt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return St.lexer=Tt,e.prototype=St,St.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,21,32],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,16],h=[1,17],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,32],f=[6,8,10,11,15,17,18,19,21,32],g=[1,43],y=[1,46],m=[1,49],v={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,alt:19,"else":20,note:21,placement:22,text2:23,over:24,spaceList:25,actor_pair:26,",":27,left_of:28,right_of:29,signaltype:30,actors:31,ACTOR:32,SOLID_OPEN_ARROW:33,DOTTED_OPEN_ARROW:34,SOLID_ARROW:35,DOTTED_ARROW:36,SOLID_CROSS:37,DOTTED_CROSS:38,TXT:39,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-3].unshift({type:"loopStart",loopText:a[u-4].actor,signalType:n.LINETYPE.LOOP_START}),a[u-3].push({type:"loopEnd",loopText:a[u-4],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-3];break;case 14:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 18:this.$=a[u];break;case 19:this.$=[a[u-2],a[u]];break;case 20:this.$=n.PLACEMENT.LEFTOF;break;case 21:this.$=n.PLACEMENT.RIGHTOF;break;case 22:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 25:this.$={type:"addActor",actor:a[u]};break;case 26:this.$=n.LINETYPE.SOLID_OPEN;break;case 27:this.$=n.LINETYPE.DOTTED_OPEN;break;case 28:this.$=n.LINETYPE.SOLID;break;case 29:this.$=n.LINETYPE.DOTTED;break;case 30:this.$=n.LINETYPE.SOLID_CROSS;break;case 31:this.$=n.LINETYPE.DOTTED_CROSS;break;case 32:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(r,d,{1:[2,1]}),t(p,[2,3]),{9:18,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(p,[2,5]),t(p,[2,6]),{12:19,32:h},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:h},{12:24,32:h},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},t([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),t(p,[2,4]),{10:[1,36]},t(p,[2,9]),t(p,[2,10]),{16:[1,37]},t(f,n,{5:38}),t([6,8,10,11,15,17,19,20,21,32],n,{5:39}),{12:40,32:h},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:h},{8:g,25:42},{32:[2,20]},{32:[2,21]},t(p,[2,8]),{10:[1,44]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,45],19:c,21:l,32:h},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,20:[1,47],21:l,32:h},{23:48,39:m},{23:50,39:m},{12:52,26:51,32:h},{8:g,25:53,32:[2,17]},t(p,[2,11]),t(p,[2,12]),t(p,d),t(f,n,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:h},{27:[1,56],32:[2,18]},{32:[2,16]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,57],19:c,21:l,32:h},{10:[2,15]},{12:58,32:h},t(p,[2,13]),{32:[2,19]}],defaultActions:{26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},b=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 37;case 2:return 38;case 3:return 35;case 4:return 36;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 17;case 10:return 19;case 11:return 20;case 12:return 18;case 13:return 28;case 14:return 29;case 15:return 24;case 16:return 21;case 17:return 15;case 18:return 4;case 19:return 27;case 20:return 32;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 39;case 26:return 6;case 27:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return v.lexer=b,e.prototype=v,v.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",20).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,0 L 8,8 M 8,0 L 0,8")},c=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")},l=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height) +};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 7da52d4e2..c81be0859 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -27,7 +27,7 @@ gulp.task('jison', shell.task([ 'jison src/diagrams/flowchart/parser/flow.jison -o src/diagrams/flowchart/parser/flow.js', 'jison src/diagrams/flowchart/parser/dot.jison -o src/diagrams/flowchart/parser/dot.js', 'jison src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison -o src/diagrams/sequenceDiagram/parser/sequenceDiagram.js', - //'jison src/diagrams/sequenceDiagram/parser/sequence.jison -o src/diagrams/sequenceDiagram/parser/sequence.js' + //'jison src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison -o src/diagrams/sequenceDiagram/parser/sequenceDiagram.js' ])); gulp.task('jison2', function() { diff --git a/package.json b/package.json index c614cd8db..6ea11ae6f 100644 --- a/package.json +++ b/package.json @@ -31,11 +31,16 @@ "codeclimate-test-reporter": "0.0.4", "d3": "~3.4.13", "dagre-d3": "~0.3.2", + "event-stream": "^3.2.0", + "foundation": "^4.2.1-1", + "front-matter": "^0.2.0", "gulp": "~3.8.9", "gulp-browserify": "^0.5.0", "gulp-bump": "^0.1.11", "gulp-concat": "~2.4.1", + "gulp-data": "^1.1.1", "gulp-ext-replace": "~0.1.0", + "gulp-hogan": "^1.1.0", "gulp-istanbul": "^0.4.0", "gulp-jasmine": "~1.0.1", "gulp-jison": "~1.0.0", @@ -46,6 +51,7 @@ "gulp-tag-version": "^1.2.1", "gulp-uglify": "~1.0.1", "he": "^0.5.0", + "hogan.js": "^3.0.2", "jasmine": "~2.0.1", "jison": "~0.4.15", "jshint-stylish": "^1.0.0", @@ -61,11 +67,13 @@ "lodash.defaults": "^2.4.1", "lodash.templatesettings": "^2.4.1", "lodash.values": "^2.4.1", + "marked": "^0.3.2", "mock-browser": "^0.90.27", "path": "^0.4.9", "phantomjs": "^1.9.12", "rewire": "^2.1.3", "rimraf": "^2.2.8", + "semantic-ui": "^1.4.1", "tape": "^3.0.3" } } diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index 1c9c62483..a26a00127 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -14,13 +14,17 @@ %% [\n]+ return 'NL'; +[\-][x] { return 'SOLID_CROSS';} +[\-][\-][x] { return 'DOTTED_CROSS';} +[\-][>][>] { return 'SOLID_ARROW';} +[\-][\-][>][>] { return 'DOTTED_ARROW';} \s+ /* skip whitespace */ \#[^\n]* /* skip comments */ \%%[^\n]* /* skip comments */ "participant" return 'participant'; "loop" return 'loop'; -"alt" return 'loop'; -"else" return 'loop'; +"alt" return 'alt'; +"else" return 'else'; "end" return 'end'; "left of" return 'left_of'; "right of" return 'right_of'; @@ -30,51 +34,64 @@ "sequenceDiagram" return 'SD'; "," return ','; [^\->:\n,]+ return 'ACTOR'; -"--" return 'DOTLINE'; -"-" return 'LINE'; -">>" return 'OPENARROW'; -">" return 'ARROW'; -:[^#\n]+ return 'MESSAGE'; -"%%" return 'CMT'; +"->" return 'SOLID_OPEN_ARROW'; +"-->" return 'DOTTED_OPEN_ARROW'; +"->>" return 'SOLID_ARROW'; +"-->>" return 'DOTTED_ARROW'; +":"[^#\n]+ return 'TXT'; <> return 'EOF'; . return 'INVALID'; /lex +%left '^' + %start start %% /* language grammar */ start - : SD document 'EOF' { return yy; } + : SD document 'EOF' { yy.apply($2);return $2; } ; document - : /* empty */ - | document line + : /* empty */ { $$ = [] } + | document line {$1.push($2);$$ = $1} ; line - : statement { } - | 'NL' + : SPACE statement { $$ = $2 } + | statement { $$ = $1 } + | NL { $$=[];} + | EOF { $$=[];} ; statement - : 'participant' actor { $$='actor'; } - | signal { $$='signal'; } - | note_statement { $$='note'; } - | 'title' message { yy.setTitle($2); } - | 'loop' ACTOR - { yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);$$='loop'; } - | 'end' - { yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);$$='loop'; } + : 'participant' actor 'NL' {$$=$2;} + | signal 'NL' + | note_statement 'NL' + | 'title' SPACE text 'NL' + | 'loop' actor document end + { + $3.unshift({type: 'loopStart', loopText:$2.actor, signalType: yy.LINETYPE.LOOP_START}); + $3.push({type: 'loopEnd', loopText:$2, signalType: yy.LINETYPE.LOOP_END}); + $$=$3;} + | alt actor document else document end + { + $3.unshift({type: 'loopStart', loopText:$2.actor, signalType: yy.LINETYPE.LOOP_START}); + $3.push({type: 'loopEnd', loopText:$2, signalType: yy.LINETYPE.LOOP_END}); + $$=$3;} ; note_statement - : 'note' placement actor message { $$ = yy.addNote($3, $2, $4); } - | 'note' 'over' actor_pair message { $$ = yy.addNote($3, yy.PLACEMENT.OVER, $4); } + : 'note' placement actor text2 {$$=[$3,{type:'addNote', placement:$2, actor:$3.actor, text:$4}];} + | 'note' 'over' spaceList actor_pair actor ; +spaceList + : SPACE spaceList + | SPACE + ; actor_pair : actor { $$ = $1; } | actor ',' actor { $$ = [$1, $3]; } @@ -86,32 +103,26 @@ placement ; signal - : actor signaltype actor message - { yy.addSignal($1, $3, $4, $2); } + : actor signaltype actor text2 + {$$ = [$1,$3,{type: 'addMessage', from:$1.actor, to:$3.actor, signalType:$2, msg:$4}]} ; +actors: actors actor + | actor + ; actor - /*: ACTOR { $$ = yy.getActor($1); }*/ - : ACTOR { yy.addActor($1,$1,$1); } + : ACTOR {$$={type: 'addActor', actor:$1}} ; signaltype - : linetype arrowtype { $$ = $1 | ($2 << 2); } - | linetype { $$ = $1; } + : SOLID_OPEN_ARROW { $$ = yy.LINETYPE.SOLID_OPEN; } + | DOTTED_OPEN_ARROW { $$ = yy.LINETYPE.DOTTED_OPEN; } + | SOLID_ARROW { $$ = yy.LINETYPE.SOLID; } + | DOTTED_ARROW { $$ = yy.LINETYPE.DOTTED; } + | SOLID_CROSS { $$ = yy.LINETYPE.SOLID_CROSS; } + | DOTTED_CROSS { $$ = yy.LINETYPE.DOTTED_CROSS; } ; -linetype - : LINE { $$ = yy.LINETYPE.SOLID; } - | DOTLINE { $$ = yy.LINETYPE.DOTTED; } - ; - -arrowtype - : ARROW { $$ = yy.ARROWTYPE.FILLED; } - | OPENARROW { $$ = yy.ARROWTYPE.OPEN; } - ; - -message - : MESSAGE { $$ = $1.substring(1).trim().replace(/\\n/gm, "\n"); } - ; +text2: TXT {$$ = $1.substring(1).trim().replace(/\\n/gm, "\n");} ; %% \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js index 9e4f36f5e..d476a94e0 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js @@ -72,87 +72,93 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10,14,16,17,18,19],$V1=[1,16],$V2=[1,19],$V3=[17,31,32]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,21,32],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,16],$V9=[1,17],$Va=[2,7],$Vb=[6,8,10,11,15,17,18,19,20,21,32],$Vc=[6,8,10,11,15,17,18,19,21,32],$Vd=[1,43],$Ve=[1,46],$Vf=[1,49]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"participant":10,"actor":11,"signal":12,"note_statement":13,"title":14,"message":15,"loop":16,"ACTOR":17,"end":18,"note":19,"placement":20,"over":21,"actor_pair":22,",":23,"left_of":24,"right_of":25,"signaltype":26,"linetype":27,"arrowtype":28,"LINE":29,"DOTLINE":30,"ARROW":31,"OPENARROW":32,"MESSAGE":33,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",9:"NL",10:"participant",14:"title",16:"loop",17:"ACTOR",18:"end",19:"note",21:"over",23:",",24:"left_of",25:"right_of",29:"LINE",30:"DOTLINE",31:"ARROW",32:"OPENARROW",33:"MESSAGE"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1],[8,1],[8,2],[8,2],[8,1],[13,4],[13,4],[22,1],[22,3],[20,1],[20,1],[12,4],[11,1],[26,2],[26,1],[27,1],[27,1],[28,1],[28,1],[15,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"alt":19,"else":20,"note":21,"placement":22,"text2":23,"over":24,"spaceList":25,"actor_pair":26,",":27,"left_of":28,"right_of":29,"signaltype":30,"actors":31,"ACTOR":32,"SOLID_OPEN_ARROW":33,"DOTTED_OPEN_ARROW":34,"SOLID_ARROW":35,"DOTTED_ARROW":36,"SOLID_CROSS":37,"DOTTED_CROSS":38,"TXT":39,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: - return yy; + yy.apply($$[$0-1]);return $$[$0-1]; break; -case 4: - +case 2: + this.$ = [] break; -case 6: - this.$='actor'; +case 3: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] break; -case 7: - this.$='signal'; +case 4: case 5: + this.$ = $$[$0] +break; +case 6: case 7: + this.$=[]; break; case 8: - this.$='note'; -break; -case 9: - yy.setTitle($$[$0]); -break; -case 10: - yy.addSignal(undefined, undefined, $$[$0], yy.LINETYPE.LOOP_START);this.$='loop'; -break; -case 11: - yy.addSignal(undefined, undefined, undefined, yy.LINETYPE.LOOP_END);this.$='loop'; +this.$=$$[$0-1]; break; case 12: - this.$ = yy.addNote($$[$0-1], $$[$0-2], $$[$0]); + + $$[$0-1].unshift({type: 'loopStart', loopText:$$[$0-2].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-1]; break; case 13: - this.$ = yy.addNote($$[$0-1], yy.PLACEMENT.OVER, $$[$0]); + + $$[$0-3].unshift({type: 'loopStart', loopText:$$[$0-4].actor, signalType: yy.LINETYPE.LOOP_START}); + $$[$0-3].push({type: 'loopEnd', loopText:$$[$0-4], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-3]; break; -case 14: case 21: - this.$ = $$[$0]; -break; -case 15: - this.$ = [$$[$0-2], $$[$0]]; -break; -case 16: - this.$ = yy.PLACEMENT.LEFTOF; -break; -case 17: - this.$ = yy.PLACEMENT.RIGHTOF; +case 14: +this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; break; case 18: - yy.addSignal($$[$0-3], $$[$0-1], $$[$0], $$[$0-2]); + this.$ = $$[$0]; break; case 19: - yy.addActor($$[$0],$$[$0],$$[$0]); + this.$ = [$$[$0-2], $$[$0]]; break; case 20: - this.$ = $$[$0-1] | ($$[$0] << 2); + this.$ = yy.PLACEMENT.LEFTOF; +break; +case 21: + this.$ = yy.PLACEMENT.RIGHTOF; break; case 22: - this.$ = yy.LINETYPE.SOLID; -break; -case 23: - this.$ = yy.LINETYPE.DOTTED; -break; -case 24: - this.$ = yy.ARROWTYPE.FILLED; +this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] break; case 25: - this.$ = yy.ARROWTYPE.OPEN; +this.$={type: 'addActor', actor:$$[$0]} break; case 26: - this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); + this.$ = yy.LINETYPE.SOLID_OPEN; +break; +case 27: + this.$ = yy.LINETYPE.DOTTED_OPEN; +break; +case 28: + this.$ = yy.LINETYPE.SOLID; +break; +case 29: + this.$ = yy.LINETYPE.DOTTED; +break; +case 30: + this.$ = yy.LINETYPE.SOLID_CROSS; +break; +case 31: + this.$ = yy.LINETYPE.DOTTED_CROSS; +break; +case 32: +this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:14,12:9,13:10,14:[1,11],16:[1,12],17:$V1,18:[1,13],19:[1,15]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{11:17,17:$V1},o($V0,[2,7]),o($V0,[2,8]),{15:18,33:$V2},{17:[1,20]},o($V0,[2,11]),{26:21,27:22,29:[1,23],30:[1,24]},{20:25,21:[1,26],24:[1,27],25:[1,28]},o([6,9,10,14,16,17,18,19,23,29,30,33],[2,19]),o($V0,[2,6]),o($V0,[2,9]),o($V0,[2,26]),o($V0,[2,10]),{11:29,17:$V1},{17:[2,21],28:30,31:[1,31],32:[1,32]},o($V3,[2,22]),o($V3,[2,23]),{11:33,17:$V1},{11:35,17:$V1,22:34},{17:[2,16]},{17:[2,17]},{15:36,33:$V2},{17:[2,20]},{17:[2,24]},{17:[2,25]},{15:37,33:$V2},{15:38,33:$V2},{23:[1,39],33:[2,14]},o($V0,[2,18]),o($V0,[2,12]),o($V0,[2,13]),{11:40,17:$V1},{33:[2,15]}], -defaultActions: {4:[2,1],27:[2,16],28:[2,17],30:[2,20],31:[2,24],32:[2,25],40:[2,15]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($V0,$Va,{1:[2,1]}),o($Vb,[2,3]),{9:18,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($Vb,[2,5]),o($Vb,[2,6]),{12:19,32:$V9},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:$V9},{12:24,32:$V9},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},o([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),o($Vb,[2,4]),{10:[1,36]},o($Vb,[2,9]),o($Vb,[2,10]),{16:[1,37]},o($Vc,$V1,{5:38}),o([6,8,10,11,15,17,19,20,21,32],$V1,{5:39}),{12:40,32:$V9},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:$V9},{8:$Vd,25:42},{32:[2,20]},{32:[2,21]},o($Vb,[2,8]),{10:[1,44]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,45],19:$V7,21:$V8,32:$V9},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,20:[1,47],21:$V8,32:$V9},{23:48,39:$Vf},{23:50,39:$Vf},{12:52,26:51,32:$V9},{8:$Vd,25:53,32:[2,17]},o($Vb,[2,11]),o($Vb,[2,12]),o($Vb,$Va),o($Vc,$V1,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:$V9},{27:[1,56],32:[2,18]},{32:[2,16]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,57],19:$V7,21:$V8,32:$V9},{10:[2,15]},{12:58,32:$V9},o($Vb,[2,13]),{32:[2,19]}], +defaultActions: {26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -627,60 +633,66 @@ performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 9; +case 0:return 10; break; -case 1:/* skip whitespace */ +case 1: return 37; break; -case 2:/* skip comments */ +case 2: return 38; break; -case 3:/* skip comments */ +case 3: return 35; break; -case 4:return 10; +case 4: return 36; break; -case 5:return 16; +case 5:/* skip whitespace */ break; -case 6:return 16; +case 6:/* skip comments */ break; -case 7:return 16; +case 7:/* skip comments */ break; -case 8:return 18; +case 8:return 11; break; -case 9:return 24; +case 9:return 17; break; -case 10:return 25; +case 10:return 19; break; -case 11:return 21; +case 11:return 20; break; -case 12:return 19; +case 12:return 18; break; -case 13:return 14; +case 13:return 28; break; -case 14:return 4; +case 14:return 29; break; -case 15:return 23; +case 15:return 24; break; -case 16:return 17; +case 16:return 21; break; -case 17:return 30; +case 17:return 15; break; -case 18:return 29; +case 18:return 4; break; -case 19:return 32; +case 19:return 27; break; -case 20:return 31; +case 20:return 32; break; case 21:return 33; break; -case 22:return 'CMT'; +case 22:return 34; break; -case 23:return 6; +case 23:return 35; break; -case 24:return 'INVALID'; +case 24:return 36; +break; +case 25:return 39; +break; +case 26:return 6; +break; +case 27:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:%%)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/sequenceDiagram/sequenceDb.js b/src/diagrams/sequenceDiagram/sequenceDb.js index a34c862e4..938ad8ab9 100644 --- a/src/diagrams/sequenceDiagram/sequenceDb.js +++ b/src/diagrams/sequenceDiagram/sequenceDb.js @@ -41,11 +41,15 @@ exports.clear = function(){ }; exports.LINETYPE = { - SOLID : 0, - DOTTED : 1, - NOTE : 2, - LOOP_START: 10, - LOOP_END : 11, + SOLID : 0, + DOTTED : 1, + NOTE : 2, + SOLID_CROSS : 3, + DOTTED_CROSS: 4, + SOLID_OPEN : 5, + DOTTED_OPEN : 6, + LOOP_START : 10, + LOOP_END : 11 }; exports.ARROWTYPE = { @@ -69,4 +73,35 @@ exports.addNote = function (actor, placement, message){ exports.parseError = function(err, hash) { console.log('Syntax error:' + err); +}; + +exports.apply = function(param){ + if(param instanceof Array ){ + param.forEach(function(item){ + exports.apply(item); + }); + } else { + //console.log(param); + switch(param.type){ + case 'addActor': + exports.addActor(param.actor, param.actor, param.actor); + break; + case 'addNote': + exports.addNote(param.actor,param.placement, param.text); + break; + case 'addMessage': + exports.addSignal(param.from, param.to, param.msg, param.signalType); + break; + case 'loopStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.loopText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'loopEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; + } + + // console.log('xxx',param); + } }; \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index b441287aa..d188ac3b8 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -19,13 +19,13 @@ describe('when parsing a sequenceDiagram',function() { it('it should handle a sequenceDiagram defintion', function () { str = 'sequenceDiagram\n' + - 'Alice->Bob: Hello Bob, how are you?\n' + + 'Alice->Bob:Hello Bob, how are you?\n' + 'Note right of Bob: Bob thinks\n' + 'Bob-->Alice: I am good thanks!\n'; sq.parse(str); var actors = sq.yy.getActors(); - expect(actors.Alice).ToBdescription = 'Alice'; + expect(actors.Alice.description).toBe('Alice'); actors.Bob.description = 'Bob'; var messages = sq.yy.getMessages(); @@ -35,16 +35,101 @@ describe('when parsing a sequenceDiagram',function() { expect(messages[0].from).toBe('Alice'); expect(messages[2].from).toBe('Bob'); }); + it('it should space in actor names', function () { + str = 'sequenceDiagram\n' + + 'Alice->Bob:Hello Bob, how are - you?\n' + + 'Bob-->Alice: I am good thanks!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(2); + + expect(messages[0].from).toBe('Alice'); + expect(messages[1].from).toBe('Bob'); + }); + it('it should handle in async messages', function () { + var str = 'sequenceDiagram\n' + + 'Alice-xBob:Hello Bob, how are you?\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + //console.log(actors); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + var messages = sq.yy.getMessages(); + + + expect(messages.length).toBe(1); + + expect(messages[0].type).toBe(sq.yy.LINETYPE.SOLID_CROSS); + }); + it('it should handle in async dotted messages', function () { + var str = 'sequenceDiagram\n' + + 'Alice--xBob:Hello Bob, how are you?\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + //console.log(actors); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + var messages = sq.yy.getMessages(); + + + expect(messages.length).toBe(1); + + expect(messages[0].type).toBe(sq.yy.LINETYPE.DOTTED_CROSS); + }); + it('it should handle in arrow messages', function () { + var str = 'sequenceDiagram\n' + + 'Alice->>Bob:Hello Bob, how are you?\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + var messages = sq.yy.getMessages(); + //console.log(messages); + + + expect(messages.length).toBe(1); + + expect(messages[0].type).toBe(sq.yy.LINETYPE.SOLID); + }); + it('it should handle in arrow messages', function () { + var str = 'sequenceDiagram\n' + + 'Alice-->>Bob:Hello Bob, how are you?\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + var messages = sq.yy.getMessages(); + //console.log(messages); + + + expect(messages.length).toBe(1); + + expect(messages[0].type).toBe(sq.yy.LINETYPE.DOTTED); + }); it('it should handle comments in a sequenceDiagram', function () { str = 'sequenceDiagram\n' + - 'Alice->Bob: Hello Bob, how are you?\n' + + 'Alice->Bob: Hello Bob, how are you?\n'+ '%% Comment\n' + 'Note right of Bob: Bob thinks\n' + 'Bob-->Alice: I am good thanks!\n'; sq.parse(str); var actors = sq.yy.getActors(); - expect(actors.Alice).ToBdescription = 'Alice'; + expect(actors.Alice.description).toBe('Alice'); actors.Bob.description = 'Bob'; var messages = sq.yy.getMessages(); @@ -64,7 +149,7 @@ describe('when parsing a sequenceDiagram',function() { sq.parse(str); var actors = sq.yy.getActors(); - expect(actors.Alice).ToBdescription = 'Alice'; + expect(actors.Alice.description).toBe('Alice'); actors.Bob.description = 'Bob'; var messages = sq.yy.getMessages(); @@ -75,6 +160,70 @@ describe('when parsing a sequenceDiagram',function() { expect(messages[2].from).toBe('Bob'); }); + it('it should handle one leading space in lines in a sequenceDiagram', function () { + str = 'sequenceDiagram\n' + + ' Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(3); + + expect(messages[0].from).toBe('Alice'); + expect(messages[2].from).toBe('Bob'); + }); + it('it should handle several leading spaces in lines in a sequenceDiagram', function () { + str = 'sequenceDiagram\n' + + ' Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(3); + + expect(messages[0].from).toBe('Alice'); + expect(messages[2].from).toBe('Bob'); + }); + it('it should handle several leading spaces in lines in a sequenceDiagram', function () { + str = 'sequenceDiagram\n'+ + 'participant Alice\n'+ + 'participant Bob\n'+ + 'Alice->John: Hello John, how are you?\n'+ + ' loop Healthcheck\n'+ + 'John->John: Fight against hypochondria\n'+ + ' end\n'+ + 'Note right of John: Rational thoughts
prevail...\n'+ + ' John-->Alice: Great!\n'+ + ' John->Bob: How about you?\n'+ + 'Bob-->John: Jolly good!\n'; + + sq.parse(str); + var actors = sq.yy.getActors(); + expect(actors.Alice.description).toBe('Alice'); + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + + expect(messages.length).toBe(8); + + expect(messages[0].from).toBe('Alice'); + expect(messages[2].from).toBe('John'); + }); + it('it should handle loop statements a sequenceDiagram', function () { var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n\n' + @@ -86,15 +235,16 @@ describe('when parsing a sequenceDiagram',function() { sq.parse(str); var actors = sq.yy.getActors(); - expect(actors.Alice).ToBdescription = 'Alice'; + //console.log(actors); + expect(actors.Alice.description).toBe('Alice'); actors.Bob.description = 'Bob'; var messages = sq.yy.getMessages(); + //console.log(messages); expect(messages.length).toBe(5); - expect(messages[0].from).toBe('Alice'); - expect(messages[3].from).toBe('Bob'); + expect(messages[1].from).toBe('Bob'); }); @@ -463,7 +613,7 @@ describe('when rendering a sequenceDiagram',function() { 'Alice->Bob: Hello Bob, how are you?\n'+ 'loop Cheers\n' + 'Bob->Alice: Fine!\n' + - 'end'; + 'end\n'; sq.parse(str); sd.draw(str,'tst'); diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 518f9267d..1df0b7edc 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -199,6 +199,24 @@ var insertArrowHead = function(elem){ .append("path") .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead }; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +var insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 20) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,0 L 8,8 M 8,0 L 0,8"); //this is actual shape for arrowhead +}; /** * Draws a message @@ -242,7 +260,7 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ } //Make an SVG Container //Draw the line - if (msg.type === 1) { + if (msg.type === sq.yy.LINETYPE.DOTTED || msg.type === sq.yy.LINETYPE.DOTTED_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_OPEN) { line.style("stroke-dasharray", ("3, 3")); line.attr("class", "messageLine1"); } @@ -253,7 +271,13 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ line.attr("stroke-width", 2); line.attr("stroke", "black"); line.style("fill", "none"); // remove any fill colour - line.attr("marker-end", "url(#arrowhead)"); + if (msg.type === sq.yy.LINETYPE.SOLID || msg.type === sq.yy.LINETYPE.DOTTED){ + line.attr("marker-end", "url(#arrowhead)"); + } + + if (msg.type === sq.yy.LINETYPE.SOLID_CROSS || msg.type === sq.yy.LINETYPE.DOTTED_CROSS){ + line.attr("marker-end", "url(#crosshead)"); + } }; @@ -328,7 +352,8 @@ module.exports.setConf = function(cnf){ */ module.exports.draw = function (text, id) { sq.yy.clear(); - sq.parse(text); + //console.log(text); + sq.parse(text+'\n'); exports.bounds.init(); var diagram = d3.select('#'+id); @@ -341,6 +366,7 @@ module.exports.draw = function (text, id) { // The arrow head definition is attached to the svg once insertArrowHead(diagram); + insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ diff --git a/src/utils.js b/src/utils.js index e47759c6c..e888a6c0b 100644 --- a/src/utils.js +++ b/src/utils.js @@ -9,7 +9,6 @@ */ module.exports.detectType = function(text,a){ if(text.match(/^\s*sequenceDiagram/)){ - console.log('Detected sequenceDiagram syntax'); return "sequenceDiagram"; } diff --git a/test/web.html b/test/web.html index d99107ed8..aba993cc5 100644 --- a/test/web.html +++ b/test/web.html @@ -4,6 +4,7 @@ + + + + + + + +

Message types

+
+ sequenceDiagram + Alice->>Bob: Hello Bob, how are you? + Bob-->>John: How about you John? + Bob--xAlice: I am good thanks! + Bob-xJohn: I am good thanks! + Note right of John: Bob thinks a long
long time, so long
that the text does
not fit on a row. + + Bob-->Alice: Checking with John... + Alice->John: Yes... John, how are you? +
+

Loops, alt and opt

+
+ sequenceDiagram + loop Daily query + Alice->>Bob: Hello Bob, how are you? + alt is sick + Bob->>Alice: Not so good :( + else is well + Bob->>Alice: Feeling fresh like a daisy + end + opt Extra response + Bob->>Alice: Thanks for asking + end + + end +
+

Message to self in loop

+
+ sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts
prevail... + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +
+

Bounding test & async message to self

+
+ sequenceDiagram + participant Alice + participant Bob + participant John the Long + Alice->Bob: Hello Bob, how are you? + loop Outer loop + Note left of Alice: Bob thinks about
things
to think about + Bob-xBob: I am good thanks! + loop Inner loop + Bob->>John the Long: How about you John? + Note right of John the Long: Bob thinks a long
long time, so long
that the text does
not fit. + end + end + + Bob-->>Alice: Checking with John... + Alice->>John the Long: Yes... John, how are you? + John the Long-->>Alice: Super! +
+
+ + + + + + From 758a9d72547e9c69b93edc6c23b4e5725d246cf3 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 5 Jan 2015 13:41:32 +0100 Subject: [PATCH 36/48] Cleanup of code --- dist/mermaid.full.js | 337 +++++++++++------- dist/mermaid.full.min.js | 12 +- dist/mermaid.slim.js | 337 +++++++++++------- dist/mermaid.slim.min.js | 12 +- .../sequenceDiagram/sequenceRenderer.js | 80 +---- src/diagrams/sequenceDiagram/svgDraw.js | 68 ++++ 6 files changed, 505 insertions(+), 341 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index c99e841ed..f9f24d0ca 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -15209,12 +15209,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,21,32],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,16],$V9=[1,17],$Va=[2,7],$Vb=[6,8,10,11,15,17,18,19,20,21,32],$Vc=[6,8,10,11,15,17,18,19,21,32],$Vd=[1,43],$Ve=[1,46],$Vf=[1,49]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,20,22,33],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,15],$V9=[1,17],$Va=[1,18],$Vb=[2,7],$Vc=[6,8,10,11,15,17,18,19,20,21,22,33],$Vd=[6,8,10,11,15,17,18,19,20,22,33],$Ve=[1,46],$Vf=[1,49],$Vg=[1,53]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"alt":19,"else":20,"note":21,"placement":22,"text2":23,"over":24,"spaceList":25,"actor_pair":26,",":27,"left_of":28,"right_of":29,"signaltype":30,"actors":31,"ACTOR":32,"SOLID_OPEN_ARROW":33,"DOTTED_OPEN_ARROW":34,"SOLID_ARROW":35,"DOTTED_ARROW":36,"SOLID_CROSS":37,"DOTTED_CROSS":38,"TXT":39,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"}, -productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"opt":19,"alt":20,"else":21,"note":22,"placement":23,"text2":24,"over":25,"spaceList":26,"actor_pair":27,",":28,"left_of":29,"right_of":30,"signaltype":31,"actors":32,"ACTOR":33,"SOLID_OPEN_ARROW":34,"DOTTED_OPEN_ARROW":35,"SOLID_ARROW":36,"DOTTED_ARROW":37,"SOLID_CROSS":38,"DOTTED_CROSS":39,"TXT":40,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -15246,56 +15246,70 @@ case 12: break; case 13: - $$[$0-3].unshift({type: 'loopStart', loopText:$$[$0-4].actor, signalType: yy.LINETYPE.LOOP_START}); - $$[$0-3].push({type: 'loopEnd', loopText:$$[$0-4], signalType: yy.LINETYPE.LOOP_END}); - this.$=$$[$0-3]; + $$[$0-1].unshift({type: 'optStart', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_START}); + $$[$0-1].push({type: 'optEnd', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_END}); + this.$=$$[$0-1]; break; case 14: + + // Alt start + $$[$0-4].unshift({type: 'altStart', altText:$$[$0-5].actor, signalType: yy.LINETYPE.ALT_START}); + // Content in alt is already in $$[$0-4] + // Else + $$[$0-4].push({type: 'else', altText:$$[$0-2].actor, signalType: yy.LINETYPE.ALT_ELSE}); + // Content in other alt + $$[$0-4] = $$[$0-4].concat($$[$0-1]); + // End + $$[$0-4].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + + this.$=$$[$0-4]; +break; +case 15: this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; break; -case 18: +case 19: this.$ = $$[$0]; break; -case 19: +case 20: this.$ = [$$[$0-2], $$[$0]]; break; -case 20: +case 21: this.$ = yy.PLACEMENT.LEFTOF; break; -case 21: +case 22: this.$ = yy.PLACEMENT.RIGHTOF; break; -case 22: +case 23: this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] break; -case 25: +case 26: this.$={type: 'addActor', actor:$$[$0]} break; -case 26: +case 27: this.$ = yy.LINETYPE.SOLID_OPEN; break; -case 27: +case 28: this.$ = yy.LINETYPE.DOTTED_OPEN; break; -case 28: +case 29: this.$ = yy.LINETYPE.SOLID; break; -case 29: +case 30: this.$ = yy.LINETYPE.DOTTED; break; -case 30: +case 31: this.$ = yy.LINETYPE.SOLID_CROSS; break; -case 31: +case 32: this.$ = yy.LINETYPE.DOTTED_CROSS; break; -case 32: +case 33: this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($V0,$Va,{1:[2,1]}),o($Vb,[2,3]),{9:18,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($Vb,[2,5]),o($Vb,[2,6]),{12:19,32:$V9},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:$V9},{12:24,32:$V9},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},o([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),o($Vb,[2,4]),{10:[1,36]},o($Vb,[2,9]),o($Vb,[2,10]),{16:[1,37]},o($Vc,$V1,{5:38}),o([6,8,10,11,15,17,19,20,21,32],$V1,{5:39}),{12:40,32:$V9},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:$V9},{8:$Vd,25:42},{32:[2,20]},{32:[2,21]},o($Vb,[2,8]),{10:[1,44]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,45],19:$V7,21:$V8,32:$V9},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,20:[1,47],21:$V8,32:$V9},{23:48,39:$Vf},{23:50,39:$Vf},{12:52,26:51,32:$V9},{8:$Vd,25:53,32:[2,17]},o($Vb,[2,11]),o($Vb,[2,12]),o($Vb,$Va),o($Vc,$V1,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:$V9},{27:[1,56],32:[2,18]},{32:[2,16]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,57],19:$V7,21:$V8,32:$V9},{10:[2,15]},{12:58,32:$V9},o($Vb,[2,13]),{32:[2,19]}], -defaultActions: {26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($V0,$Vb,{1:[2,1]}),o($Vc,[2,3]),{9:19,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($Vc,[2,5]),o($Vc,[2,6]),{12:20,33:$Va},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:$Va},{12:25,33:$Va},{12:26,33:$Va},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},o([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),o($Vc,[2,4]),{10:[1,38]},o($Vc,[2,9]),o($Vc,[2,10]),{16:[1,39]},o($Vd,$V1,{5:40}),o($Vd,$V1,{5:41}),o([6,8,10,11,15,17,19,20,21,22,33],$V1,{5:42}),{12:43,33:$Va},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:$Va},{8:$Ve,26:45},{33:[2,21]},{33:[2,22]},o($Vc,[2,8]),{10:[1,47]},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,48],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,50],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,21:[1,51],22:$V9,33:$Va},{24:52,40:$Vg},{24:54,40:$Vg},{12:56,27:55,33:$Va},{8:$Ve,26:57,33:[2,18]},o($Vc,[2,11]),o($Vc,[2,12]),o($Vc,$Vb),o($Vc,[2,13]),{12:58,33:$Va},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:$Va},{28:[1,60],33:[2,19]},{33:[2,17]},o($Vd,$V1,{5:61}),{10:[2,16]},{12:62,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,63],19:$V7,20:$V8,22:$V9,33:$Va},{33:[2,20]},o($Vc,[2,14])], +defaultActions: {28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15772,13 +15786,13 @@ var YYSTATE=YY_START; switch($avoiding_name_collisions) { case 0:return 10; break; -case 1: return 37; +case 1: return 38; break; -case 2: return 38; +case 2: return 39; break; -case 3: return 35; +case 3: return 36; break; -case 4: return 36; +case 4: return 37; break; case 5:/* skip whitespace */ break; @@ -15788,29 +15802,29 @@ case 7:/* skip comments */ break; case 8:return 11; break; -case 9:return 17; +case 9:return 19; break; -case 10:return 19; +case 10:return 17; break; case 11:return 20; break; -case 12:return 18; +case 12:return 21; break; -case 13:return 28; +case 13:return 18; break; case 14:return 29; break; -case 15:return 24; +case 15:return 30; break; -case 16:return 21; +case 16:return 25; break; -case 17:return 15; +case 17:return 22; break; -case 18:return 4; +case 18:return 15; break; -case 19:return 27; +case 19:return 4; break; -case 20:return 32; +case 20:return 28; break; case 21:return 33; break; @@ -15820,16 +15834,18 @@ case 23:return 35; break; case 24:return 36; break; -case 25:return 39; +case 25:return 37; break; -case 26:return 6; +case 26:return 40; break; -case 27:return 'INVALID'; +case 27:return 6; +break; +case 28:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15911,7 +15927,13 @@ exports.LINETYPE = { SOLID_OPEN : 5, DOTTED_OPEN : 6, LOOP_START : 10, - LOOP_END : 11 + LOOP_END : 11, + ALT_START : 12, + ALT_ELSE : 13, + ALT_END : 14, + OPT_START : 15, + OPT_END : 16 + }; exports.ARROWTYPE = { @@ -15943,7 +15965,7 @@ exports.apply = function(param){ exports.apply(item); }); } else { - //console.log(param); + // console.log(param); switch(param.type){ case 'addActor': exports.addActor(param.actor, param.actor, param.actor); @@ -15962,6 +15984,25 @@ exports.apply = function(param){ case 'loopEnd': exports.addSignal(undefined, undefined, undefined, param.signalType); break; + case 'optStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.optText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'optEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; + case 'altStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.altText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'else': + exports.addSignal(undefined, undefined, param.altText, param.signalType); + break; + case 'altEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; } // console.log('xxx',param); @@ -16066,6 +16107,12 @@ exports.bounds = { //loop.stopy = exports.bounds.getVerticalPos(); return loop; }, + addElseToLoop:function(message){ + var loop = this.list.pop(); + loop.elsey = exports.bounds.getVerticalPos(); + loop.elseText = message; + this.list.push(loop); + }, bumpVerticalPos:function(bump){ this.verticalPos = this.verticalPos + bump; this.data.stopy = this.verticalPos; @@ -16117,7 +16164,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ * @param pos The position if the actor in the list of actors * @param description The text in the box */ -exports.drawLoop = function(elem,bounds){ +exports.drawLoop = function(elem,bounds,labelText){ var g = elem.append("g"); var drawLoopLine = function(startx,starty,stopx,stopy){ g.append("line") @@ -16133,9 +16180,12 @@ exports.drawLoop = function(elem,bounds){ drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + if(typeof bounds.elsey !== 'undefined'){ + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + } var txt = svgDraw.getTextObj(); - txt.text = "Loop"; + txt.text = labelText; txt.x = bounds.startx; txt.y = bounds.starty; txt.labelMargin = 1.5 * conf.boxMargin; @@ -16145,49 +16195,22 @@ exports.drawLoop = function(elem,bounds){ svgDraw.drawLabel(g,txt); txt = svgDraw.getTextObj(); - txt.text = bounds.title; + txt.text = '[ ' + bounds.title + ' ]'; txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; txt.class = 'loopText'; svgDraw.drawText(g,txt); + + if(typeof bounds.elseText !== 'undefined') { + txt.text = '[ ' + bounds.elseText + ' ]'; + txt.y = bounds.elsey + 1.5 * conf.boxMargin; + svgDraw.drawText(g, txt); + } }; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead -}; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "crosshead") - .attr("refX", 20) /*must be smarter way to calculate shift*/ - .attr("refY", 4) - .attr("markerWidth", 8) - .attr("markerHeight", 8) - .attr("orient", "auto") - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 0,0 L 8,8 M 8,0 L 0,8"); //this is actual shape for arrowhead -}; - /** * Draws a message * @param elem @@ -16251,45 +16274,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors - * @param description The text in the box - */ -var drawActor = function(elem, left,description){ - var center = left + (conf.width/2); - var g = elem.append("g"); - g.append("line") - .attr("x1", center) - .attr("y1", 5) - .attr("x2", center) - .attr("y2", 2000) - .attr("class", 'actor-line') - .attr("stroke-width", '0.5px') - .attr("stroke", '#999'); - - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); - g.append("text") // text label for the x axis - .attr("x", center) - .attr("y", (conf.height/2)+5) - .attr('class','actor') - .style("text-anchor", "middle") - .text(description) - ; - - exports.bounds.insert(left, 0, left + conf.width, conf.height); -}; - module.exports.drawActors = function(diagram, actors, actorKeys){ var i; // Draw the actors @@ -16303,7 +16287,9 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ actors[key].height = conf.diagramMarginY; // Draw the box with the attached line - drawActor(diagram, actors[key].x, actors[key].description); + svgDraw.drawActor(diagram, actors[key].x, actors[key].description, conf); + exports.bounds.insert(actors[key].x, 0, actors[key].x + conf.width, conf.height); + } // Add a margin between the actor boxes and the first arrow @@ -16335,15 +16321,13 @@ module.exports.draw = function (text, id) { module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once - insertArrowHead(diagram); - insertArrowCrossHead(diagram); + svgDraw.insertArrowHead(diagram); + svgDraw.insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ + var loopData; - - var startx; - var stopx; switch(msg.type){ case sq.yy.LINETYPE.NOTE: exports.bounds.bumpVerticalPos(conf.boxMargin); @@ -16366,9 +16350,38 @@ module.exports.draw = function (text, id) { exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); break; case sq.yy.LINETYPE.LOOP_END: - var loopData = exports.bounds.endLoop(); + loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData); + exports.drawLoop(diagram, loopData,'loop'); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.OPT_START: + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); + break; + case sq.yy.LINETYPE.OPT_END: + loopData = exports.bounds.endLoop(); + + exports.drawLoop(diagram, loopData, 'opt'); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.ALT_START: + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); + break; + case sq.yy.LINETYPE.ALT_ELSE: + + //exports.drawLoop(diagram, loopData); + exports.bounds.bumpVerticalPos(conf.boxMargin); + loopData = exports.bounds.addElseToLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.ALT_END: + loopData = exports.bounds.endLoop(); + + exports.drawLoop(diagram, loopData,'alt'); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: @@ -16379,6 +16392,9 @@ module.exports.draw = function (text, id) { drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); } + + var startx; + var stopx; }); var box = exports.bounds.getBounds(); @@ -16455,6 +16471,74 @@ exports.drawLabel = function(elem , txtObject){ //return textElem; }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawActor = function(elem, left,description,conf){ + var center = left + (conf.width/2); + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", 5) + .attr("x2", center) + .attr("y2", 2000) + .attr("class", 'actor-line') + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", left) + .attr("y", 0) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("class", 'actor') + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", center) + .attr("y", (conf.height/2)+5) + .attr('class','actor') + .style("text-anchor", "middle") + .text(description) + ; +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 15) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead +}; exports.getTextObj = function(){ var txt = { @@ -16627,7 +16711,6 @@ global.mermaid = { */ module.exports.detectType = function(text,a){ if(text.match(/^\s*sequenceDiagram/)){ - //console.log('Detected sequenceDiagram syntax'); return "sequenceDiagram"; } diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 5bb669893..ed6bfe42c 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){T(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),T=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var T=function(e,t){t=k(t,T.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};T.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:T,escape:L,unescape:T};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Tn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Sn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,jr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===S?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=w(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,T=RegExp("^["+x+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[U]=!1,Y[R]=Y[P]=Y[j]=Y[M]=Y[V]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],T=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(M,[2,42]),t(M,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],j=[1,101],M=[1,90],U=[1,91],V=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],wt=[1,169],xt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],St={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(S,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(T,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:j,31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(S,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:j,17:[2,81],31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(T,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:wt,70:xt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Tt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return St.lexer=Tt,e.prototype=St,St.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,21,32],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,16],h=[1,17],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,32],f=[6,8,10,11,15,17,18,19,21,32],g=[1,43],y=[1,46],m=[1,49],v={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,alt:19,"else":20,note:21,placement:22,text2:23,over:24,spaceList:25,actor_pair:26,",":27,left_of:28,right_of:29,signaltype:30,actors:31,ACTOR:32,SOLID_OPEN_ARROW:33,DOTTED_OPEN_ARROW:34,SOLID_ARROW:35,DOTTED_ARROW:36,SOLID_CROSS:37,DOTTED_CROSS:38,TXT:39,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-3].unshift({type:"loopStart",loopText:a[u-4].actor,signalType:n.LINETYPE.LOOP_START}),a[u-3].push({type:"loopEnd",loopText:a[u-4],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-3];break;case 14:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 18:this.$=a[u];break;case 19:this.$=[a[u-2],a[u]];break;case 20:this.$=n.PLACEMENT.LEFTOF;break;case 21:this.$=n.PLACEMENT.RIGHTOF;break;case 22:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 25:this.$={type:"addActor",actor:a[u]};break;case 26:this.$=n.LINETYPE.SOLID_OPEN;break;case 27:this.$=n.LINETYPE.DOTTED_OPEN;break;case 28:this.$=n.LINETYPE.SOLID;break;case 29:this.$=n.LINETYPE.DOTTED;break;case 30:this.$=n.LINETYPE.SOLID_CROSS;break;case 31:this.$=n.LINETYPE.DOTTED_CROSS;break;case 32:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(r,d,{1:[2,1]}),t(p,[2,3]),{9:18,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(p,[2,5]),t(p,[2,6]),{12:19,32:h},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:h},{12:24,32:h},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},t([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),t(p,[2,4]),{10:[1,36]},t(p,[2,9]),t(p,[2,10]),{16:[1,37]},t(f,n,{5:38}),t([6,8,10,11,15,17,19,20,21,32],n,{5:39}),{12:40,32:h},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:h},{8:g,25:42},{32:[2,20]},{32:[2,21]},t(p,[2,8]),{10:[1,44]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,45],19:c,21:l,32:h},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,20:[1,47],21:l,32:h},{23:48,39:m},{23:50,39:m},{12:52,26:51,32:h},{8:g,25:53,32:[2,17]},t(p,[2,11]),t(p,[2,12]),t(p,d),t(f,n,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:h},{27:[1,56],32:[2,18]},{32:[2,16]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,57],19:c,21:l,32:h},{10:[2,15]},{12:58,32:h},t(p,[2,13]),{32:[2,19]}],defaultActions:{26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},b=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 37;case 2:return 38;case 3:return 35;case 4:return 36;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 17;case 10:return 19;case 11:return 20;case 12:return 18;case 13:return 28;case 14:return 29;case 15:return 24;case 16:return 21;case 17:return 15;case 18:return 4;case 19:return 27;case 20:return 32;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 39;case 26:return 6;case 27:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return v.lexer=b,e.prototype=v,v.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",20).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,0 L 8,8 M 8,0 L 0,8")},c=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")},l=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height) -};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); +u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,r,n){var i=t+n.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",n.width).attr("height",n.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",n.height/2+5).attr("class","actor").style("text-anchor","middle").text(r)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",15).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 0fb55fef3..9cb6b7538 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -15177,12 +15177,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,21,32],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,16],$V9=[1,17],$Va=[2,7],$Vb=[6,8,10,11,15,17,18,19,20,21,32],$Vc=[6,8,10,11,15,17,18,19,21,32],$Vd=[1,43],$Ve=[1,46],$Vf=[1,49]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,15,17,19,20,22,33],$V1=[2,2],$V2=[1,6],$V3=[1,8],$V4=[1,9],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,15],$V9=[1,17],$Va=[1,18],$Vb=[2,7],$Vc=[6,8,10,11,15,17,18,19,20,21,22,33],$Vd=[6,8,10,11,15,17,18,19,20,22,33],$Ve=[1,46],$Vf=[1,49],$Vg=[1,53]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"alt":19,"else":20,"note":21,"placement":22,"text2":23,"over":24,"spaceList":25,"actor_pair":26,",":27,"left_of":28,"right_of":29,"signaltype":30,"actors":31,"ACTOR":32,"SOLID_OPEN_ARROW":33,"DOTTED_OPEN_ARROW":34,"SOLID_ARROW":35,"DOTTED_ARROW":36,"SOLID_CROSS":37,"DOTTED_CROSS":38,"TXT":39,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"}, -productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]], +symbols_: {"error":2,"start":3,"SD":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"participant":11,"actor":12,"signal":13,"note_statement":14,"title":15,"text":16,"loop":17,"end":18,"opt":19,"alt":20,"else":21,"note":22,"placement":23,"text2":24,"over":25,"spaceList":26,"actor_pair":27,",":28,"left_of":29,"right_of":30,"signaltype":31,"actors":32,"ACTOR":33,"SOLID_OPEN_ARROW":34,"DOTTED_OPEN_ARROW":35,"SOLID_ARROW":36,"DOTTED_ARROW":37,"SOLID_CROSS":38,"DOTTED_CROSS":39,"TXT":40,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -15214,56 +15214,70 @@ case 12: break; case 13: - $$[$0-3].unshift({type: 'loopStart', loopText:$$[$0-4].actor, signalType: yy.LINETYPE.LOOP_START}); - $$[$0-3].push({type: 'loopEnd', loopText:$$[$0-4], signalType: yy.LINETYPE.LOOP_END}); - this.$=$$[$0-3]; + $$[$0-1].unshift({type: 'optStart', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_START}); + $$[$0-1].push({type: 'optEnd', optText:$$[$0-2].actor, signalType: yy.LINETYPE.OPT_END}); + this.$=$$[$0-1]; break; case 14: + + // Alt start + $$[$0-4].unshift({type: 'altStart', altText:$$[$0-5].actor, signalType: yy.LINETYPE.ALT_START}); + // Content in alt is already in $$[$0-4] + // Else + $$[$0-4].push({type: 'else', altText:$$[$0-2].actor, signalType: yy.LINETYPE.ALT_ELSE}); + // Content in other alt + $$[$0-4] = $$[$0-4].concat($$[$0-1]); + // End + $$[$0-4].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + + this.$=$$[$0-4]; +break; +case 15: this.$=[$$[$0-1],{type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; break; -case 18: +case 19: this.$ = $$[$0]; break; -case 19: +case 20: this.$ = [$$[$0-2], $$[$0]]; break; -case 20: +case 21: this.$ = yy.PLACEMENT.LEFTOF; break; -case 21: +case 22: this.$ = yy.PLACEMENT.RIGHTOF; break; -case 22: +case 23: this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] break; -case 25: +case 26: this.$={type: 'addActor', actor:$$[$0]} break; -case 26: +case 27: this.$ = yy.LINETYPE.SOLID_OPEN; break; -case 27: +case 28: this.$ = yy.LINETYPE.DOTTED_OPEN; break; -case 28: +case 29: this.$ = yy.LINETYPE.SOLID; break; -case 29: +case 30: this.$ = yy.LINETYPE.DOTTED; break; -case 30: +case 31: this.$ = yy.LINETYPE.SOLID_CROSS; break; -case 31: +case 32: this.$ = yy.LINETYPE.DOTTED_CROSS; break; -case 32: +case 33: this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); break; } }, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($V0,$Va,{1:[2,1]}),o($Vb,[2,3]),{9:18,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,21:$V8,32:$V9},o($Vb,[2,5]),o($Vb,[2,6]),{12:19,32:$V9},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:$V9},{12:24,32:$V9},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},o([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),o($Vb,[2,4]),{10:[1,36]},o($Vb,[2,9]),o($Vb,[2,10]),{16:[1,37]},o($Vc,$V1,{5:38}),o([6,8,10,11,15,17,19,20,21,32],$V1,{5:39}),{12:40,32:$V9},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:$V9},{8:$Vd,25:42},{32:[2,20]},{32:[2,21]},o($Vb,[2,8]),{10:[1,44]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,45],19:$V7,21:$V8,32:$V9},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,19:$V7,20:[1,47],21:$V8,32:$V9},{23:48,39:$Vf},{23:50,39:$Vf},{12:52,26:51,32:$V9},{8:$Vd,25:53,32:[2,17]},o($Vb,[2,11]),o($Vb,[2,12]),o($Vb,$Va),o($Vc,$V1,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:$V9},{27:[1,56],32:[2,18]},{32:[2,16]},{6:$Ve,7:5,8:$V2,9:7,10:$V3,11:$V4,12:15,13:10,14:11,15:$V5,17:$V6,18:[1,57],19:$V7,21:$V8,32:$V9},{10:[2,15]},{12:58,32:$V9},o($Vb,[2,13]),{32:[2,19]}], -defaultActions: {26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,$V1,{5:3}),{6:[1,4],7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($V0,$Vb,{1:[2,1]}),o($Vc,[2,3]),{9:19,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,22:$V9,33:$Va},o($Vc,[2,5]),o($Vc,[2,6]),{12:20,33:$Va},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:$Va},{12:25,33:$Va},{12:26,33:$Va},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},o([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),o($Vc,[2,4]),{10:[1,38]},o($Vc,[2,9]),o($Vc,[2,10]),{16:[1,39]},o($Vd,$V1,{5:40}),o($Vd,$V1,{5:41}),o([6,8,10,11,15,17,19,20,21,22,33],$V1,{5:42}),{12:43,33:$Va},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:$Va},{8:$Ve,26:45},{33:[2,21]},{33:[2,22]},o($Vc,[2,8]),{10:[1,47]},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,48],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,50],19:$V7,20:$V8,22:$V9,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,19:$V7,20:$V8,21:[1,51],22:$V9,33:$Va},{24:52,40:$Vg},{24:54,40:$Vg},{12:56,27:55,33:$Va},{8:$Ve,26:57,33:[2,18]},o($Vc,[2,11]),o($Vc,[2,12]),o($Vc,$Vb),o($Vc,[2,13]),{12:58,33:$Va},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:$Va},{28:[1,60],33:[2,19]},{33:[2,17]},o($Vd,$V1,{5:61}),{10:[2,16]},{12:62,33:$Va},{6:$Vf,7:5,8:$V2,9:7,10:$V3,11:$V4,12:16,13:10,14:11,15:$V5,17:$V6,18:[1,63],19:$V7,20:$V8,22:$V9,33:$Va},{33:[2,20]},o($Vc,[2,14])], +defaultActions: {28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15740,13 +15754,13 @@ var YYSTATE=YY_START; switch($avoiding_name_collisions) { case 0:return 10; break; -case 1: return 37; +case 1: return 38; break; -case 2: return 38; +case 2: return 39; break; -case 3: return 35; +case 3: return 36; break; -case 4: return 36; +case 4: return 37; break; case 5:/* skip whitespace */ break; @@ -15756,29 +15770,29 @@ case 7:/* skip comments */ break; case 8:return 11; break; -case 9:return 17; +case 9:return 19; break; -case 10:return 19; +case 10:return 17; break; case 11:return 20; break; -case 12:return 18; +case 12:return 21; break; -case 13:return 28; +case 13:return 18; break; case 14:return 29; break; -case 15:return 24; +case 15:return 30; break; -case 16:return 21; +case 16:return 25; break; -case 17:return 15; +case 17:return 22; break; -case 18:return 4; +case 18:return 15; break; -case 19:return 27; +case 19:return 4; break; -case 20:return 32; +case 20:return 28; break; case 21:return 33; break; @@ -15788,16 +15802,18 @@ case 23:return 35; break; case 24:return 36; break; -case 25:return 39; +case 25:return 37; break; -case 26:return 6; +case 26:return 40; break; -case 27:return 'INVALID'; +case 27:return 6; +break; +case 28:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -15879,7 +15895,13 @@ exports.LINETYPE = { SOLID_OPEN : 5, DOTTED_OPEN : 6, LOOP_START : 10, - LOOP_END : 11 + LOOP_END : 11, + ALT_START : 12, + ALT_ELSE : 13, + ALT_END : 14, + OPT_START : 15, + OPT_END : 16 + }; exports.ARROWTYPE = { @@ -15911,7 +15933,7 @@ exports.apply = function(param){ exports.apply(item); }); } else { - //console.log(param); + // console.log(param); switch(param.type){ case 'addActor': exports.addActor(param.actor, param.actor, param.actor); @@ -15930,6 +15952,25 @@ exports.apply = function(param){ case 'loopEnd': exports.addSignal(undefined, undefined, undefined, param.signalType); break; + case 'optStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.optText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'optEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; + case 'altStart': + //console.log('Loop text: ',param.loopText); + exports.addSignal(undefined, undefined, param.altText, param.signalType); + //yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START); + break; + case 'else': + exports.addSignal(undefined, undefined, param.altText, param.signalType); + break; + case 'altEnd': + exports.addSignal(undefined, undefined, undefined, param.signalType); + break; } // console.log('xxx',param); @@ -16034,6 +16075,12 @@ exports.bounds = { //loop.stopy = exports.bounds.getVerticalPos(); return loop; }, + addElseToLoop:function(message){ + var loop = this.list.pop(); + loop.elsey = exports.bounds.getVerticalPos(); + loop.elseText = message; + this.list.push(loop); + }, bumpVerticalPos:function(bump){ this.verticalPos = this.verticalPos + bump; this.data.stopy = this.verticalPos; @@ -16085,7 +16132,7 @@ var drawNote = function(elem, startx, verticalPos, msg){ * @param pos The position if the actor in the list of actors * @param description The text in the box */ -exports.drawLoop = function(elem,bounds){ +exports.drawLoop = function(elem,bounds,labelText){ var g = elem.append("g"); var drawLoopLine = function(startx,starty,stopx,stopy){ g.append("line") @@ -16101,9 +16148,12 @@ exports.drawLoop = function(elem,bounds){ drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + if(typeof bounds.elsey !== 'undefined'){ + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + } var txt = svgDraw.getTextObj(); - txt.text = "Loop"; + txt.text = labelText; txt.x = bounds.startx; txt.y = bounds.starty; txt.labelMargin = 1.5 * conf.boxMargin; @@ -16113,49 +16163,22 @@ exports.drawLoop = function(elem,bounds){ svgDraw.drawLabel(g,txt); txt = svgDraw.getTextObj(); - txt.text = bounds.title; + txt.text = '[ ' + bounds.title + ' ]'; txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; txt.y = bounds.starty + 1.5 * conf.boxMargin; txt.anchor = 'middle'; txt.class = 'loopText'; svgDraw.drawText(g,txt); + + if(typeof bounds.elseText !== 'undefined') { + txt.text = '[ ' + bounds.elseText + ' ]'; + txt.y = bounds.elsey + 1.5 * conf.boxMargin; + svgDraw.drawText(g, txt); + } }; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead -}; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "crosshead") - .attr("refX", 20) /*must be smarter way to calculate shift*/ - .attr("refY", 4) - .attr("markerWidth", 8) - .attr("markerHeight", 8) - .attr("orient", "auto") - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 0,0 L 8,8 M 8,0 L 0,8"); //this is actual shape for arrowhead -}; - /** * Draws a message * @param elem @@ -16219,45 +16242,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors - * @param description The text in the box - */ -var drawActor = function(elem, left,description){ - var center = left + (conf.width/2); - var g = elem.append("g"); - g.append("line") - .attr("x1", center) - .attr("y1", 5) - .attr("x2", center) - .attr("y2", 2000) - .attr("class", 'actor-line') - .attr("stroke-width", '0.5px') - .attr("stroke", '#999'); - - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); - g.append("text") // text label for the x axis - .attr("x", center) - .attr("y", (conf.height/2)+5) - .attr('class','actor') - .style("text-anchor", "middle") - .text(description) - ; - - exports.bounds.insert(left, 0, left + conf.width, conf.height); -}; - module.exports.drawActors = function(diagram, actors, actorKeys){ var i; // Draw the actors @@ -16271,7 +16255,9 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ actors[key].height = conf.diagramMarginY; // Draw the box with the attached line - drawActor(diagram, actors[key].x, actors[key].description); + svgDraw.drawActor(diagram, actors[key].x, actors[key].description, conf); + exports.bounds.insert(actors[key].x, 0, actors[key].x + conf.width, conf.height); + } // Add a margin between the actor boxes and the first arrow @@ -16303,15 +16289,13 @@ module.exports.draw = function (text, id) { module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once - insertArrowHead(diagram); - insertArrowCrossHead(diagram); + svgDraw.insertArrowHead(diagram); + svgDraw.insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ + var loopData; - - var startx; - var stopx; switch(msg.type){ case sq.yy.LINETYPE.NOTE: exports.bounds.bumpVerticalPos(conf.boxMargin); @@ -16334,9 +16318,38 @@ module.exports.draw = function (text, id) { exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); break; case sq.yy.LINETYPE.LOOP_END: - var loopData = exports.bounds.endLoop(); + loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData); + exports.drawLoop(diagram, loopData,'loop'); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.OPT_START: + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); + break; + case sq.yy.LINETYPE.OPT_END: + loopData = exports.bounds.endLoop(); + + exports.drawLoop(diagram, loopData, 'opt'); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.ALT_START: + exports.bounds.bumpVerticalPos(conf.boxMargin); + exports.bounds.newLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin); + break; + case sq.yy.LINETYPE.ALT_ELSE: + + //exports.drawLoop(diagram, loopData); + exports.bounds.bumpVerticalPos(conf.boxMargin); + loopData = exports.bounds.addElseToLoop(msg.message); + exports.bounds.bumpVerticalPos(conf.boxMargin); + break; + case sq.yy.LINETYPE.ALT_END: + loopData = exports.bounds.endLoop(); + + exports.drawLoop(diagram, loopData,'alt'); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: @@ -16347,6 +16360,9 @@ module.exports.draw = function (text, id) { drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); } + + var startx; + var stopx; }); var box = exports.bounds.getBounds(); @@ -16423,6 +16439,74 @@ exports.drawLabel = function(elem , txtObject){ //return textElem; }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawActor = function(elem, left,description,conf){ + var center = left + (conf.width/2); + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", 5) + .attr("x2", center) + .attr("y2", 2000) + .attr("class", 'actor-line') + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", left) + .attr("y", 0) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("class", 'actor') + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", center) + .attr("y", (conf.height/2)+5) + .attr('class','actor') + .style("text-anchor", "middle") + .text(description) + ; +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 15) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead +}; exports.getTextObj = function(){ var txt = { @@ -16595,7 +16679,6 @@ global.mermaid = { */ module.exports.detectType = function(text,a){ if(text.match(/^\s*sequenceDiagram/)){ - //console.log('Detected sequenceDiagram syntax'); return "sequenceDiagram"; } diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 5833b3f47..0282f34d4 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){x(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){w.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){S(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){T(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){w.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},M,v(n,j),A.pick(n,U)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),w=e("./normalize"),x=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),S=e("./order"),T=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; -return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,w={},x=w.hasOwnProperty,_=function(e,t){return x.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},S=function(e,t){t=k(t,S.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var T=function(e,t){t=k(t,T.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};T.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:S,decode:T,escape:L,unescape:T};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Tn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=w(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function wr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new xn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function jr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new xn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else St(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Sn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Sn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Sn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Sn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function Mr(e){if(!Bt(e))throw new xn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Ur(e,t){if(!Bt(e))throw new xn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Vr(e,t){if(!Bt(e))throw new xn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new xn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new xn;return r===!1?n=!1:St(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,jr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return w(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||St(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":wn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:St(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&St(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=wn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===S?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=w(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:t}},Mn||(v=function(){function t(){}return function(r){if(St(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=jn?function(e,t){W.value=t,jn(e,"__bindData__",W)}:en,Jn=Un||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return St(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=wt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=w(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,T=RegExp("^["+x+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",j="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[U]=!1,Y[R]=Y[P]=Y[j]=Y[M]=Y[V]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],x=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],S=[1,65],T=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],M=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(x,_,{44:44,32:[1,43],45:D}),t(w,[2,27],{41:46,43:47,57:k,58:C}),t(w,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(x,[2,48]),t(x,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(w,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(j,[2,66]),t(j,[2,67]),t(w,[2,46]),t(w,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(w,[2,26]),t(x,[2,51],{45:[1,86]}),t(x,[2,52]),t(x,[2,56]),t(x,[2,57]),t(x,[2,58]),t(x,[2,59]),t(x,[2,60]),t(x,[2,61]),t(x,[2,62]),t(x,[2,63]),t(x,[2,64]),t(w,[2,38]),t(M,[2,44],{43:47,41:87,57:k,58:C}),t(M,[2,45],{43:47,41:88,57:k,58:C}),t(x,_,{44:44,45:D}),t(w,[2,39]),{39:[1,89]},t(w,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(x,[2,55]),{10:[1,94]},t(x,B,{46:95,48:S,49:T,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(M,[2,42]),t(M,[2,43]),t(w,[2,33],{34:96,37:F}),t(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(x,[2,54]),{5:[2,3]},t(x,[2,50]),t(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(x,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},V=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return U.lexer=V,e.prototype=U,U.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],w=[1,45],x=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],j=[1,101],M=[1,90],U=[1,91],V=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],wt=[1,169],xt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],St={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:w,17:x,22:43},{6:E,16:w,17:x,22:47},{6:E,16:w,17:x,22:48},{6:E,16:w,17:x,22:49},{6:E,16:w,17:x,22:50},{6:E,16:w,17:x,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(S,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(T,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:j,31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(S,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:j,17:[2,81],31:M,33:U,34:V,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(T,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:wt,70:xt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:wt,70:xt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:wt,70:xt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Tt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return St.lexer=Tt,e.prototype=St,St.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,21,32],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,16],h=[1,17],d=[2,7],p=[6,8,10,11,15,17,18,19,20,21,32],f=[6,8,10,11,15,17,18,19,21,32],g=[1,43],y=[1,46],m=[1,49],v={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,alt:19,"else":20,note:21,placement:22,text2:23,over:24,spaceList:25,actor_pair:26,",":27,left_of:28,right_of:29,signaltype:30,actors:31,ACTOR:32,SOLID_OPEN_ARROW:33,DOTTED_OPEN_ARROW:34,SOLID_ARROW:35,DOTTED_ARROW:36,SOLID_CROSS:37,DOTTED_CROSS:38,TXT:39,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"alt",20:"else",21:"note",24:"over",27:",",28:"left_of",29:"right_of",32:"ACTOR",33:"SOLID_OPEN_ARROW",34:"DOTTED_OPEN_ARROW",35:"SOLID_ARROW",36:"DOTTED_ARROW",37:"SOLID_CROSS",38:"DOTTED_CROSS",39:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,6],[14,4],[14,5],[25,2],[25,1],[26,1],[26,3],[22,1],[22,1],[13,4],[31,2],[31,1],[12,1],[30,1],[30,1],[30,1],[30,1],[30,1],[30,1],[23,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-3].unshift({type:"loopStart",loopText:a[u-4].actor,signalType:n.LINETYPE.LOOP_START}),a[u-3].push({type:"loopEnd",loopText:a[u-4],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-3];break;case 14:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 18:this.$=a[u];break;case 19:this.$=[a[u-2],a[u]];break;case 20:this.$=n.PLACEMENT.LEFTOF;break;case 21:this.$=n.PLACEMENT.RIGHTOF;break;case 22:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 25:this.$={type:"addActor",actor:a[u]};break;case 26:this.$=n.LINETYPE.SOLID_OPEN;break;case 27:this.$=n.LINETYPE.DOTTED_OPEN;break;case 28:this.$=n.LINETYPE.SOLID;break;case 29:this.$=n.LINETYPE.DOTTED;break;case 30:this.$=n.LINETYPE.SOLID_CROSS;break;case 31:this.$=n.LINETYPE.DOTTED_CROSS;break;case 32:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(r,d,{1:[2,1]}),t(p,[2,3]),{9:18,11:u,12:15,13:10,14:11,15:o,17:s,19:c,21:l,32:h},t(p,[2,5]),t(p,[2,6]),{12:19,32:h},{10:[1,20]},{10:[1,21]},{8:[1,22]},{12:23,32:h},{12:24,32:h},{30:25,33:[1,26],34:[1,27],35:[1,28],36:[1,29],37:[1,30],38:[1,31]},{22:32,24:[1,33],28:[1,34],29:[1,35]},t([6,8,10,11,15,17,18,19,20,21,27,32,33,34,35,36,37,38,39],[2,25]),t(p,[2,4]),{10:[1,36]},t(p,[2,9]),t(p,[2,10]),{16:[1,37]},t(f,n,{5:38}),t([6,8,10,11,15,17,19,20,21,32],n,{5:39}),{12:40,32:h},{32:[2,26]},{32:[2,27]},{32:[2,28]},{32:[2,29]},{32:[2,30]},{32:[2,31]},{12:41,32:h},{8:g,25:42},{32:[2,20]},{32:[2,21]},t(p,[2,8]),{10:[1,44]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,45],19:c,21:l,32:h},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,19:c,20:[1,47],21:l,32:h},{23:48,39:m},{23:50,39:m},{12:52,26:51,32:h},{8:g,25:53,32:[2,17]},t(p,[2,11]),t(p,[2,12]),t(p,d),t(f,n,{5:54}),{10:[2,22]},{10:[2,32]},{10:[2,14]},{12:55,32:h},{27:[1,56],32:[2,18]},{32:[2,16]},{6:y,7:5,8:i,9:7,10:a,11:u,12:15,13:10,14:11,15:o,17:s,18:[1,57],19:c,21:l,32:h},{10:[2,15]},{12:58,32:h},t(p,[2,13]),{32:[2,19]}],defaultActions:{26:[2,26],27:[2,27],28:[2,28],29:[2,29],30:[2,30],31:[2,31],34:[2,20],35:[2,21],48:[2,22],49:[2,32],50:[2,14],53:[2,16],55:[2,15],58:[2,19]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,w,x,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?w=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),w=u[E]&&u[E][b]),"undefined"==typeof w||!w.length||!w[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(w[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(w[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[w[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(F,[o,c,s,g.yy,w[1],i,a].concat(p)),"undefined"!=typeof x)return x;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[w[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},b=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 37;case 2:return 38;case 3:return 35;case 4:return 36;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 17;case 10:return 19;case 11:return 20;case 12:return 18;case 13:return 28;case 14:return 29;case 15:return 24;case 16:return 21;case 17:return 15;case 18:return 4;case 19:return 27;case 20:return 32;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 39;case 26:return 6;case 27:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return v.lexer=b,e.prototype=v,v.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t){var r=e.append("g"),n=function(e,t,n,i){r.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};n(t.startx,t.starty,t.stopx,t.starty),n(t.stopx,t.starty,t.stopx,t.stopy),n(t.startx,t.stopy,t.stopx,t.stopy),n(t.startx,t.starty,t.startx,t.stopy);var u=i.getTextObj();u.text="Loop",u.x=t.startx,u.y=t.starty,u.labelMargin=1.5*a.boxMargin,u.class="labelText",u.fill="white",i.drawLabel(r,u),u=i.getTextObj(),u.text=t.title,u.x=t.startx+(t.stopx-t.startx)/2,u.y=t.starty+1.5*a.boxMargin,u.anchor="middle",u.class="loopText",i.drawText(r,u)};var o=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},s=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",20).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,0 L 8,8 M 8,0 L 0,8")},c=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")},l=function(e,t,n){var i=t+a.width/2,u=e.append("g");u.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),u.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",a.width).attr("height",a.height).attr("class","actor").attr("rx",3).attr("ry",3),u.append("text").attr("x",i).attr("y",a.height/2+5).attr("class","actor").style("text-anchor","middle").text(n),r.bounds.insert(t,0,t+a.width,a.height) -};t.exports.drawActors=function(e,t,n){var i;for(i=0;i/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); +u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,r,n){var i=t+n.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",n.width).attr("height",n.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",n.height/2+5).attr("class","actor").style("text-anchor","middle").text(r)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",15).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 7dca6784d..8f844cc87 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -200,39 +200,6 @@ exports.drawLoop = function(elem,bounds,labelText){ }; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ - .attr("refY", 2) - .attr("markerWidth", 6) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("path") - .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead -}; -/** - * Setup arrow head and define the marker. The result is appended to the svg. - */ -var insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") - .attr("id", "crosshead") - .attr("refX", 15) /*must be smarter way to calculate shift*/ - .attr("refY", 4) - .attr("markerWidth", 8) - .attr("markerHeight", 8) - .attr("orient", "auto") - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead -}; - /** * Draws a message * @param elem @@ -296,45 +263,6 @@ var drawMessage = function(elem, startx, stopx, verticalPos, msg){ }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the liost of actors - * @param description The text in the box - */ -var drawActor = function(elem, left,description){ - var center = left + (conf.width/2); - var g = elem.append("g"); - g.append("line") - .attr("x1", center) - .attr("y1", 5) - .attr("x2", center) - .attr("y2", 2000) - .attr("class", 'actor-line') - .attr("stroke-width", '0.5px') - .attr("stroke", '#999'); - - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); - g.append("text") // text label for the x axis - .attr("x", center) - .attr("y", (conf.height/2)+5) - .attr('class','actor') - .style("text-anchor", "middle") - .text(description) - ; - - exports.bounds.insert(left, 0, left + conf.width, conf.height); -}; - module.exports.drawActors = function(diagram, actors, actorKeys){ var i; // Draw the actors @@ -348,7 +276,9 @@ module.exports.drawActors = function(diagram, actors, actorKeys){ actors[key].height = conf.diagramMarginY; // Draw the box with the attached line - drawActor(diagram, actors[key].x, actors[key].description); + svgDraw.drawActor(diagram, actors[key].x, actors[key].description, conf); + exports.bounds.insert(actors[key].x, 0, actors[key].x + conf.width, conf.height); + } // Add a margin between the actor boxes and the first arrow @@ -380,8 +310,8 @@ module.exports.draw = function (text, id) { module.exports.drawActors(diagram, actors, actorKeys); // The arrow head definition is attached to the svg once - insertArrowHead(diagram); - insertArrowCrossHead(diagram); + svgDraw.insertArrowHead(diagram); + svgDraw.insertArrowCrossHead(diagram); // Draw the messages/signals messages.forEach(function(msg){ diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index 0253919c6..f4cf5cc2d 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -61,6 +61,74 @@ exports.drawLabel = function(elem , txtObject){ //return textElem; }; +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +exports.drawActor = function(elem, left,description,conf){ + var center = left + (conf.width/2); + var g = elem.append("g"); + g.append("line") + .attr("x1", center) + .attr("y1", 5) + .attr("x2", center) + .attr("y2", 2000) + .attr("class", 'actor-line') + .attr("stroke-width", '0.5px') + .attr("stroke", '#999'); + + g.append("rect") + .attr("x", left) + .attr("y", 0) + .attr("fill", '#eaeaea') + .attr("stroke", '#666') + .attr("width", conf.width) + .attr("height", conf.height) + .attr("class", 'actor') + .attr("rx", 3) + .attr("ry", 3); + g.append("text") // text label for the x axis + .attr("x", center) + .attr("y", (conf.height/2)+5) + .attr('class','actor') + .style("text-anchor", "middle") + .text(description) + ; +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z"); //this is actual shape for arrowhead +}; +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +exports.insertArrowCrossHead = function(elem){ + elem.append("defs").append("marker") + .attr("id", "crosshead") + .attr("refX", 15) /*must be smarter way to calculate shift*/ + .attr("refY", 4) + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead +}; exports.getTextObj = function(){ var txt = { From 03a711d82dee5277954624708640da02f2c300c4 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 5 Jan 2015 14:12:49 +0100 Subject: [PATCH 37/48] Cleanup of code --- .../sequenceDiagram/sequenceRenderer.js | 6 ++-- src/diagrams/sequenceDiagram/svgDraw.js | 28 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 8f844cc87..f2a9f1e38 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -302,6 +302,9 @@ module.exports.draw = function (text, id) { exports.bounds.init(); var diagram = d3.select('#'+id); + var startx; + var stopx; + // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); @@ -381,9 +384,6 @@ module.exports.draw = function (text, id) { drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); } - - var startx; - var stopx; }); var box = exports.bounds.getBounds(); diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index f4cf5cc2d..7c2043f4f 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -51,7 +51,7 @@ exports.drawLabel = function(elem , txtObject){ rectData.class = 'labelBox'; //rectData.color = 'white'; - var label = exports.drawRect(elem, rectData); + exports.drawRect(elem, rectData); txtObject.y = txtObject.y + txtObject.labelMargin; txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; @@ -79,16 +79,16 @@ exports.drawActor = function(elem, left,description,conf){ .attr("stroke-width", '0.5px') .attr("stroke", '#999'); - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); + var rect = exports.getNoteRect(); + rect.x = left; + rect.fill = '#eaeaea'; + rect.width = conf.width; + rect.height = conf.height; + rect.class = 'actor'; + rect.rx = 3; + rect.ry = 3; + exports.drawRect(g, rect); + g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) @@ -103,7 +103,7 @@ exports.drawActor = function(elem, left,description,conf){ exports.insertArrowHead = function(elem){ elem.append("defs").append("marker") .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refX", 5) .attr("refY", 2) .attr("markerWidth", 6) .attr("markerHeight", 4) @@ -117,11 +117,11 @@ exports.insertArrowHead = function(elem){ exports.insertArrowCrossHead = function(elem){ elem.append("defs").append("marker") .attr("id", "crosshead") - .attr("refX", 15) /*must be smarter way to calculate shift*/ - .attr("refY", 4) .attr("markerWidth", 8) .attr("markerHeight", 8) .attr("orient", "auto") + .attr("refX", 15) + .attr("refY", 4) .append("path") .attr("fill",'none') .attr("stroke",'#000000') From 786d9ddb54f985f6e4f45112d7137e2e7181a7bd Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 5 Jan 2015 14:41:00 +0100 Subject: [PATCH 38/48] Move of drawLoop to svgDraw --- dist/mermaid.full.js | 34 +++++------ dist/mermaid.full.min.js | 2 +- dist/mermaid.slim.js | 34 +++++------ dist/mermaid.slim.min.js | 2 +- .../sequenceDiagram/sequenceRenderer.js | 58 +------------------ src/diagrams/sequenceDiagram/svgDraw.js | 53 +++++++++++++++++ 6 files changed, 92 insertions(+), 91 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index f9f24d0ca..f0fed04fb 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -16313,6 +16313,9 @@ module.exports.draw = function (text, id) { exports.bounds.init(); var diagram = d3.select('#'+id); + var startx; + var stopx; + // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); @@ -16392,9 +16395,6 @@ module.exports.draw = function (text, id) { drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); } - - var startx; - var stopx; }); var box = exports.bounds.getBounds(); @@ -16461,7 +16461,7 @@ exports.drawLabel = function(elem , txtObject){ rectData.class = 'labelBox'; //rectData.color = 'white'; - var label = exports.drawRect(elem, rectData); + exports.drawRect(elem, rectData); txtObject.y = txtObject.y + txtObject.labelMargin; txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; @@ -16489,16 +16489,16 @@ exports.drawActor = function(elem, left,description,conf){ .attr("stroke-width", '0.5px') .attr("stroke", '#999'); - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); + var rect = exports.getNoteRect(); + rect.x = left; + rect.fill = '#eaeaea'; + rect.width = conf.width; + rect.height = conf.height; + rect.class = 'actor'; + rect.rx = 3; + rect.ry = 3; + exports.drawRect(g, rect); + g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) @@ -16513,7 +16513,7 @@ exports.drawActor = function(elem, left,description,conf){ exports.insertArrowHead = function(elem){ elem.append("defs").append("marker") .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refX", 5) .attr("refY", 2) .attr("markerWidth", 6) .attr("markerHeight", 4) @@ -16527,11 +16527,11 @@ exports.insertArrowHead = function(elem){ exports.insertArrowCrossHead = function(elem){ elem.append("defs").append("marker") .attr("id", "crosshead") - .attr("refX", 15) /*must be smarter way to calculate shift*/ - .attr("refY", 4) .attr("markerWidth", 8) .attr("markerHeight", 8) .attr("orient", "auto") + .attr("refX", 15) + .attr("refY", 4) .append("path") .attr("fill",'none') .attr("stroke",'#000000') diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index ed6bfe42c..c30be8820 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -36,4 +36,4 @@ return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(thi },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); -u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,r,n){var i=t+n.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",n.width).attr("height",n.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",n.height/2+5).attr("class","actor").style("text-anchor","middle").text(r)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",15).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 9cb6b7538..5c084718d 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -16281,6 +16281,9 @@ module.exports.draw = function (text, id) { exports.bounds.init(); var diagram = d3.select('#'+id); + var startx; + var stopx; + // Fetch data from the parsing var actors = sq.yy.getActors(); var actorKeys = sq.yy.getActorKeys(); @@ -16360,9 +16363,6 @@ module.exports.draw = function (text, id) { drawMessage(diagram, startx, stopx, exports.bounds.getVerticalPos(), msg); } - - var startx; - var stopx; }); var box = exports.bounds.getBounds(); @@ -16429,7 +16429,7 @@ exports.drawLabel = function(elem , txtObject){ rectData.class = 'labelBox'; //rectData.color = 'white'; - var label = exports.drawRect(elem, rectData); + exports.drawRect(elem, rectData); txtObject.y = txtObject.y + txtObject.labelMargin; txtObject.x = txtObject.x + 0.5*txtObject.labelMargin; @@ -16457,16 +16457,16 @@ exports.drawActor = function(elem, left,description,conf){ .attr("stroke-width", '0.5px') .attr("stroke", '#999'); - g.append("rect") - .attr("x", left) - .attr("y", 0) - .attr("fill", '#eaeaea') - .attr("stroke", '#666') - .attr("width", conf.width) - .attr("height", conf.height) - .attr("class", 'actor') - .attr("rx", 3) - .attr("ry", 3); + var rect = exports.getNoteRect(); + rect.x = left; + rect.fill = '#eaeaea'; + rect.width = conf.width; + rect.height = conf.height; + rect.class = 'actor'; + rect.rx = 3; + rect.ry = 3; + exports.drawRect(g, rect); + g.append("text") // text label for the x axis .attr("x", center) .attr("y", (conf.height/2)+5) @@ -16481,7 +16481,7 @@ exports.drawActor = function(elem, left,description,conf){ exports.insertArrowHead = function(elem){ elem.append("defs").append("marker") .attr("id", "arrowhead") - .attr("refX", 5) /*must be smarter way to calculate shift*/ + .attr("refX", 5) .attr("refY", 2) .attr("markerWidth", 6) .attr("markerHeight", 4) @@ -16495,11 +16495,11 @@ exports.insertArrowHead = function(elem){ exports.insertArrowCrossHead = function(elem){ elem.append("defs").append("marker") .attr("id", "crosshead") - .attr("refX", 15) /*must be smarter way to calculate shift*/ - .attr("refY", 4) .attr("markerWidth", 8) .attr("markerHeight", 8) .attr("orient", "auto") + .attr("refX", 15) + .attr("refY", 4) .append("path") .attr("fill",'none') .attr("stroke",'#000000') diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 0282f34d4..5fc8bf4cf 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -4,4 +4,4 @@ return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(thi },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); -u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox";r.drawRect(e,n);t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,r,n){var i=t+n.width/2,a=e.append("g");a.append("line").attr("x1",i).attr("y1",5).attr("x2",i).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),a.append("rect").attr("x",t).attr("y",0).attr("fill","#eaeaea").attr("stroke","#666").attr("width",n.width).attr("height",n.height).attr("class","actor").attr("rx",3).attr("ry",3),a.append("text").attr("x",i).attr("y",n.height/2+5).attr("class","actor").style("text-anchor","middle").text(r)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("refX",15).attr("refY",4).attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index f2a9f1e38..54e09c217 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -147,58 +147,6 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the list of actors - * @param description The text in the box - */ -exports.drawLoop = function(elem,bounds,labelText){ - var g = elem.append("g"); - var drawLoopLine = function(startx,starty,stopx,stopy){ - g.append("line") - .attr("x1", startx) - .attr("y1", starty) - .attr("x2", stopx ) - .attr("y2", stopy ) - .attr("stroke-width", 2) - .attr("stroke", "#526e52") - .attr('class','loopLine'); - }; - drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); - drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); - if(typeof bounds.elsey !== 'undefined'){ - drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); - } - - var txt = svgDraw.getTextObj(); - txt.text = labelText; - txt.x = bounds.startx; - txt.y = bounds.starty; - txt.labelMargin = 1.5 * conf.boxMargin; - txt.class = 'labelText'; - txt.fill = 'white'; - - svgDraw.drawLabel(g,txt); - - txt = svgDraw.getTextObj(); - txt.text = '[ ' + bounds.title + ' ]'; - txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; - txt.y = bounds.starty + 1.5 * conf.boxMargin; - txt.anchor = 'middle'; - txt.class = 'loopText'; - - svgDraw.drawText(g,txt); - - if(typeof bounds.elseText !== 'undefined') { - txt.text = '[ ' + bounds.elseText + ' ]'; - txt.y = bounds.elsey + 1.5 * conf.boxMargin; - svgDraw.drawText(g, txt); - } -}; - /** * Draws a message @@ -344,7 +292,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.LOOP_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'loop'); + exports.drawLoop(diagram, loopData,'loop', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.OPT_START: @@ -355,7 +303,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.OPT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData, 'opt'); + exports.drawLoop(diagram, loopData, 'opt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.ALT_START: @@ -373,7 +321,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.ALT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'alt'); + exports.drawLoop(diagram, loopData,'alt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index 7c2043f4f..c70bc56c1 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -97,6 +97,59 @@ exports.drawActor = function(elem, left,description,conf){ .text(description) ; }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the list of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds,labelText, conf){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#526e52") + .attr('class','loopLine'); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + if(typeof bounds.elsey !== 'undefined'){ + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + } + + var txt = exports.getTextObj(); + txt.text = labelText; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; + + exports.drawLabel(g,txt); + + txt = exports.getTextObj(); + txt.text = '[ ' + bounds.title + ' ]'; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + txt.class = 'loopText'; + + exports.drawText(g,txt); + + if(typeof bounds.elseText !== 'undefined') { + txt.text = '[ ' + bounds.elseText + ' ]'; + txt.y = bounds.elsey + 1.5 * conf.boxMargin; + exports.drawText(g, txt); + } +}; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ From 7741f49ed866d8a249eab2d26795b5e5f3faf6b3 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 5 Jan 2015 15:06:01 +0100 Subject: [PATCH 39/48] Move of drawLoop to svgDraw --- dist/mermaid.full.js | 111 +++++++++--------- dist/mermaid.full.min.js | 4 +- dist/mermaid.slim.js | 111 +++++++++--------- dist/mermaid.slim.min.js | 4 +- .../sequenceDiagram/sequenceRenderer.js | 6 +- 5 files changed, 119 insertions(+), 117 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index f0fed04fb..0a935bcce 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -16158,58 +16158,6 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the list of actors - * @param description The text in the box - */ -exports.drawLoop = function(elem,bounds,labelText){ - var g = elem.append("g"); - var drawLoopLine = function(startx,starty,stopx,stopy){ - g.append("line") - .attr("x1", startx) - .attr("y1", starty) - .attr("x2", stopx ) - .attr("y2", stopy ) - .attr("stroke-width", 2) - .attr("stroke", "#526e52") - .attr('class','loopLine'); - }; - drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); - drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); - if(typeof bounds.elsey !== 'undefined'){ - drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); - } - - var txt = svgDraw.getTextObj(); - txt.text = labelText; - txt.x = bounds.startx; - txt.y = bounds.starty; - txt.labelMargin = 1.5 * conf.boxMargin; - txt.class = 'labelText'; - txt.fill = 'white'; - - svgDraw.drawLabel(g,txt); - - txt = svgDraw.getTextObj(); - txt.text = '[ ' + bounds.title + ' ]'; - txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; - txt.y = bounds.starty + 1.5 * conf.boxMargin; - txt.anchor = 'middle'; - txt.class = 'loopText'; - - svgDraw.drawText(g,txt); - - if(typeof bounds.elseText !== 'undefined') { - txt.text = '[ ' + bounds.elseText + ' ]'; - txt.y = bounds.elsey + 1.5 * conf.boxMargin; - svgDraw.drawText(g, txt); - } -}; - /** * Draws a message @@ -16355,7 +16303,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.LOOP_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'loop'); + svgDraw.drawLoop(diagram, loopData,'loop', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.OPT_START: @@ -16366,7 +16314,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.OPT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData, 'opt'); + svgDraw.drawLoop(diagram, loopData, 'opt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.ALT_START: @@ -16384,7 +16332,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.ALT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'alt'); + svgDraw.drawLoop(diagram, loopData,'alt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: @@ -16507,6 +16455,59 @@ exports.drawActor = function(elem, left,description,conf){ .text(description) ; }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the list of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds,labelText, conf){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#526e52") + .attr('class','loopLine'); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + if(typeof bounds.elsey !== 'undefined'){ + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + } + + var txt = exports.getTextObj(); + txt.text = labelText; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; + + exports.drawLabel(g,txt); + + txt = exports.getTextObj(); + txt.text = '[ ' + bounds.title + ' ]'; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + txt.class = 'loopText'; + + exports.drawText(g,txt); + + if(typeof bounds.elseText !== 'undefined') { + txt.text = '[ ' + bounds.elseText + ' ]'; + txt.y = bounds.elsey + 1.5 * conf.boxMargin; + exports.drawText(g, txt); + } +}; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index c30be8820..0e8c2acbc 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -35,5 +35,5 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); -u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 5c084718d..d7c976ce9 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -16126,58 +16126,6 @@ var drawNote = function(elem, startx, verticalPos, msg){ exports.bounds.bumpVerticalPos(textHeight+ 2*conf.noteMargin); }; -/** - * Draws an actor in the diagram with the attaced line - * @param center - The center of the the actor - * @param pos The position if the actor in the list of actors - * @param description The text in the box - */ -exports.drawLoop = function(elem,bounds,labelText){ - var g = elem.append("g"); - var drawLoopLine = function(startx,starty,stopx,stopy){ - g.append("line") - .attr("x1", startx) - .attr("y1", starty) - .attr("x2", stopx ) - .attr("y2", stopy ) - .attr("stroke-width", 2) - .attr("stroke", "#526e52") - .attr('class','loopLine'); - }; - drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); - drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); - drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); - if(typeof bounds.elsey !== 'undefined'){ - drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); - } - - var txt = svgDraw.getTextObj(); - txt.text = labelText; - txt.x = bounds.startx; - txt.y = bounds.starty; - txt.labelMargin = 1.5 * conf.boxMargin; - txt.class = 'labelText'; - txt.fill = 'white'; - - svgDraw.drawLabel(g,txt); - - txt = svgDraw.getTextObj(); - txt.text = '[ ' + bounds.title + ' ]'; - txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; - txt.y = bounds.starty + 1.5 * conf.boxMargin; - txt.anchor = 'middle'; - txt.class = 'loopText'; - - svgDraw.drawText(g,txt); - - if(typeof bounds.elseText !== 'undefined') { - txt.text = '[ ' + bounds.elseText + ' ]'; - txt.y = bounds.elsey + 1.5 * conf.boxMargin; - svgDraw.drawText(g, txt); - } -}; - /** * Draws a message @@ -16323,7 +16271,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.LOOP_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'loop'); + svgDraw.drawLoop(diagram, loopData,'loop', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.OPT_START: @@ -16334,7 +16282,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.OPT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData, 'opt'); + svgDraw.drawLoop(diagram, loopData, 'opt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.ALT_START: @@ -16352,7 +16300,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.ALT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'alt'); + svgDraw.drawLoop(diagram, loopData,'alt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: @@ -16475,6 +16423,59 @@ exports.drawActor = function(elem, left,description,conf){ .text(description) ; }; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the list of actors + * @param description The text in the box + */ +exports.drawLoop = function(elem,bounds,labelText, conf){ + var g = elem.append("g"); + var drawLoopLine = function(startx,starty,stopx,stopy){ + g.append("line") + .attr("x1", startx) + .attr("y1", starty) + .attr("x2", stopx ) + .attr("y2", stopy ) + .attr("stroke-width", 2) + .attr("stroke", "#526e52") + .attr('class','loopLine'); + }; + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx , bounds.starty); + drawLoopLine(bounds.stopx , bounds.starty, bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.stopy , bounds.stopx , bounds.stopy ); + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy ); + if(typeof bounds.elsey !== 'undefined'){ + drawLoopLine(bounds.startx, bounds.elsey, bounds.stopx, bounds.elsey ); + } + + var txt = exports.getTextObj(); + txt.text = labelText; + txt.x = bounds.startx; + txt.y = bounds.starty; + txt.labelMargin = 1.5 * conf.boxMargin; + txt.class = 'labelText'; + txt.fill = 'white'; + + exports.drawLabel(g,txt); + + txt = exports.getTextObj(); + txt.text = '[ ' + bounds.title + ' ]'; + txt.x = bounds.startx + (bounds.stopx - bounds.startx)/2; + txt.y = bounds.starty + 1.5 * conf.boxMargin; + txt.anchor = 'middle'; + txt.class = 'loopText'; + + exports.drawText(g,txt); + + if(typeof bounds.elseText !== 'undefined') { + txt.text = '[ ' + bounds.elseText + ' ]'; + txt.y = bounds.elsey + 1.5 * conf.boxMargin; + exports.drawText(g, txt); + } +}; + /** * Setup arrow head and define the marker. The result is appended to the svg. */ diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 5fc8bf4cf..93a32bb1c 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -3,5 +3,5 @@ return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)};r.drawLoop=function(e,t,r){var n=e.append("g"),u=function(e,t,r,i){n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=i.getTextObj();o.text=r,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*a.boxMargin,o.class="labelText",o.fill="white",i.drawLabel(n,o),o=i.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*a.boxMargin,o.anchor="middle",o.class="loopText",i.drawText(n,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*a.boxMargin,i.drawText(n,o))};var o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos()); -u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 54e09c217..c991358db 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -292,7 +292,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.LOOP_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'loop', conf); + svgDraw.drawLoop(diagram, loopData,'loop', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.OPT_START: @@ -303,7 +303,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.OPT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData, 'opt', conf); + svgDraw.drawLoop(diagram, loopData, 'opt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; case sq.yy.LINETYPE.ALT_START: @@ -321,7 +321,7 @@ module.exports.draw = function (text, id) { case sq.yy.LINETYPE.ALT_END: loopData = exports.bounds.endLoop(); - exports.drawLoop(diagram, loopData,'alt', conf); + svgDraw.drawLoop(diagram, loopData,'alt', conf); exports.bounds.bumpVerticalPos(conf.boxMargin); break; default: From 222a6e06827f194d9368d3a790dbe6cc53341788 Mon Sep 17 00:00:00 2001 From: knsv Date: Mon, 5 Jan 2015 15:32:39 +0100 Subject: [PATCH 40/48] New release 0.3.1 --- bower.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 93283f92c..6e78ffef7 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.3.0", + "version": "0.3.1", "authors": [ "knsv " ], diff --git a/package.json b/package.json index 6ea11ae6f..cd19fa30c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.3.0", + "version": "0.3.1", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { From c5c995c9160929c3e8d9772e74b2592d6b63e3b0 Mon Sep 17 00:00:00 2001 From: knsv Date: Tue, 6 Jan 2015 19:33:00 +0100 Subject: [PATCH 41/48] Added the option to disable auto rendering via the mermaid namespace as described in issue #91 Added optional ; as statement separator equal to newline for sequence diagrams (help for tidy users) --- dist/mermaid.full.js | 78 +++++++++++-------- dist/mermaid.full.min.js | 6 +- dist/mermaid.slim.js | 78 +++++++++++-------- dist/mermaid.slim.min.js | 6 +- .../parser/sequenceDiagram.jison | 5 +- .../sequenceDiagram/parser/sequenceDiagram.js | 22 +++--- .../sequenceDiagram/sequenceDiagram.spec.js | 19 +++++ src/main.js | 55 ++++++++----- src/main.spec.js | 64 +++++++++++---- test/seq.html | 8 ++ test/web.html | 1 + 11 files changed, 227 insertions(+), 115 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 0a935bcce..ca0728b49 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13001,7 +13001,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.3.0", + "version": "0.3.1", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { @@ -15826,26 +15826,28 @@ case 19:return 4; break; case 20:return 28; break; -case 21:return 33; +case 21:return 10; break; -case 22:return 34; +case 22:return 33; break; -case 23:return 35; +case 23:return 34; break; -case 24:return 36; +case 24:return 35; break; -case 25:return 37; +case 25:return 36; break; -case 26:return 40; +case 26:return 37; break; -case 27:return 6; +case 27:return 40; break; -case 28:return 'INVALID'; +case 28:return 6; +break; +case 29:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -16667,28 +16669,9 @@ var equals = function (val, variable){ return (val === variable); } }; -if(typeof document !== 'undefined'){ - /** - * Wait for coument loaded before starting the execution - */ - document.addEventListener('DOMContentLoaded', function(){ - // Check presence of config object - if(typeof mermaid_config !== 'undefined'){ - // Check if property startOnLoad is set - if(equals(true, mermaid_config.startOnLoad)){ - init(); - } - } - else{ - // No config found, do autostart in this simple case - init(); - } - }, false); - -} - global.mermaid = { + startOnLoad:true, init:function(){ init(); }, @@ -16699,6 +16682,39 @@ global.mermaid = { return flow.parser; } }; + +exports.contentLoaded = function(){ + // Check state of start config mermaid namespece + //console.log('global.mermaid.startOnLoad',global.mermaid.startOnLoad); + //console.log('mermaid_config',mermaid_config); + if(global.mermaid.startOnLoad) { + + // For backwards compatability reasons also check mermaid_config variable + if (typeof mermaid_config !== 'undefined') { + // Check if property startOnLoad is set + if (equals(true, mermaid_config.startOnLoad)) { + global.mermaid.init(); + } + } + else { + // No config found, do autostart in this simple case + global.mermaid.init(); + } + } + +}; + +if(typeof document !== 'undefined'){ + /** + * Wait for coument loaded before starting the execution + */ + document.addEventListener('DOMContentLoaded', function(){ + exports.contentLoaded(); + }, false); +} + + + }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,"he":100}],112:[function(require,module,exports){ /** diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 0e8c2acbc..7d075fa10 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -33,7 +33,7 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli !function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index d7c976ce9..504b4ff45 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -12969,7 +12969,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.3.0", + "version": "0.3.1", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { @@ -15794,26 +15794,28 @@ case 19:return 4; break; case 20:return 28; break; -case 21:return 33; +case 21:return 10; break; -case 22:return 34; +case 22:return 33; break; -case 23:return 35; +case 23:return 34; break; -case 24:return 36; +case 24:return 35; break; -case 25:return 37; +case 25:return 36; break; -case 26:return 40; +case 26:return 37; break; -case 27:return 6; +case 27:return 40; break; -case 28:return 'INVALID'; +case 28:return 6; +break; +case 29:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); @@ -16635,28 +16637,9 @@ var equals = function (val, variable){ return (val === variable); } }; -if(typeof document !== 'undefined'){ - /** - * Wait for coument loaded before starting the execution - */ - document.addEventListener('DOMContentLoaded', function(){ - // Check presence of config object - if(typeof mermaid_config !== 'undefined'){ - // Check if property startOnLoad is set - if(equals(true, mermaid_config.startOnLoad)){ - init(); - } - } - else{ - // No config found, do autostart in this simple case - init(); - } - }, false); - -} - global.mermaid = { + startOnLoad:true, init:function(){ init(); }, @@ -16667,6 +16650,39 @@ global.mermaid = { return flow.parser; } }; + +exports.contentLoaded = function(){ + // Check state of start config mermaid namespece + //console.log('global.mermaid.startOnLoad',global.mermaid.startOnLoad); + //console.log('mermaid_config',mermaid_config); + if(global.mermaid.startOnLoad) { + + // For backwards compatability reasons also check mermaid_config variable + if (typeof mermaid_config !== 'undefined') { + // Check if property startOnLoad is set + if (equals(true, mermaid_config.startOnLoad)) { + global.mermaid.init(); + } + } + else { + // No config found, do autostart in this simple case + global.mermaid.init(); + } + } + +}; + +if(typeof document !== 'undefined'){ + /** + * Wait for coument loaded before starting the execution + */ + document.addEventListener('DOMContentLoaded', function(){ + exports.contentLoaded(); + }, false); +} + + + }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,"he":100}],112:[function(require,module,exports){ /** diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 93a32bb1c..6d50d25eb 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ !function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.0",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getVertices(),d=n.getEdges();r.addVertices(h,l),r.addEdges(d,l);var p=new u.render;p.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},p.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},p.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var f=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),p(d3.select("#"+t+" g"),l);var g=document.querySelector("#mermaidChart0");f.attr("height",l.graph().height),f.attr("width",l.graph().width),f.attr("viewBox",g.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,7],n=[1,8],i=[1,18],a=[1,19],u=[1,20],o=[1,21],s=[1,22],c=[1,27],l=[1,16],h=[1,29],d=[1,26],p=[1,28],f=[1,34],g=[1,33],y=[1,30],m=[1,31],v=[1,32],b=[1,6],A=[53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],E=[1,46],x=[1,45],w=[1,44],_=[6,16,17],D=[1,56],k=[1,57],C=[1,58],F=[1,59],B=[6,16,17,43,44,45,46,47],T=[6,9,12,13,16,17,31,34,36,43,44,45,46,47],S=[6,9,12,13,16,17,31,34,36,43,44,45,46,47,62,65,67,68,70,71,73,74,75],L=[6,8,9,10,12,13,16,17,31,33,34,35,36,37,40,43,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],N=[1,6,9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],q=[1,111],I=[1,103],O=[1,112],R=[1,86],P=[1,85],M=[1,101],j=[1,90],V=[1,91],U=[1,88],G=[1,89],$=[1,92],H=[1,93],Y=[1,104],z=[1,97],W=[1,98],Z=[1,96],K=[1,99],X=[1,87],J=[1,106],Q=[1,107],et=[1,108],tt=[1,109],rt=[1,110],nt=[1,94],it=[1,95],at=[1,100],ut=[62,65,67,68,70,71,73,74,75],ot=[9,48,62,65,67,68,70,71,73,74,75],st=[1,136],ct=[1,133],lt=[1,134],ht=[8,9,10,12,13,16,17,31,33,34,35,36,37,40,44,45,46,47,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75,76,77,78],dt=[2,99],pt=[2,101],ft=[8,9,10,12,13,33,35,37,40,48,53,54,55,56,57,62,65,67,68,70,71,73,74,75],gt=[9,17,53,54,55,56,57,62,63,65,67,68,70,71,73,74,75],yt=[1,170],mt=[1,167],vt=[1,171],bt=[1,168],At=[1,165],Et=[1,166],xt=[1,169],wt=[1,172],_t=[1,173],Dt=[8,9,10,12,13,40,53,54,55,56,57,62,65,67,68,70,71,73,74,75],kt=[2,44],Ct=[1,185],Ft=[6,16,17,65],Bt=[6,9,16,17,40,61,62,65,67,68,69,70,71],Tt={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graphConfig:4,statements:5,EOF:6,spaceListNewline:7,GRAPH:8,SPACE:9,DIR:10,FirstStmtSeperator:11,TAGEND:12,TAGSTART:13,UP:14,DOWN:15,SEMI:16,NEWLINE:17,spaceList:18,statement:19,commentStatement:20,verticeStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,vertex:28,link:29,alphaNum:30,SQS:31,text:32,SQE:33,PS:34,PE:35,DIAMOND_START:36,DIAMOND_STOP:37,alphaNumStatement:38,alphaNumToken:39,MINUS:40,linkStatement:41,arrowText:42,"--":43,ARROW_POINT:44,ARROW_CIRCLE:45,ARROW_CROSS:46,ARROW_OPEN:47,PIPE:48,textToken:49,commentText:50,commentToken:51,keywords:52,STYLE:53,LINKSTYLE:54,CLASSDEF:55,CLASS:56,CLICK:57,textNoTags:58,textNoTagsToken:59,stylesOpt:60,HEX:61,NUM:62,PCT:63,style:64,COMMA:65,styleComponent:66,ALPHA:67,COLON:68,UNIT:69,BRKT:70,DOT:71,graphCodeTokens:72,PLUS:73,EQUALS:74,MULT:75,TAG_START:76,TAG_END:77,QUOTE:78,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:"GRAPH",9:"SPACE",10:"DIR",12:"TAGEND",13:"TAGSTART",14:"UP",15:"DOWN",16:"SEMI",17:"NEWLINE",31:"SQS",33:"SQE",34:"PS",35:"PE",36:"DIAMOND_START",37:"DIAMOND_STOP",40:"MINUS",43:"--",44:"ARROW_POINT",45:"ARROW_CIRCLE",46:"ARROW_CROSS",47:"ARROW_OPEN",48:"PIPE",53:"STYLE",54:"LINKSTYLE",55:"CLASSDEF",56:"CLASS",57:"CLICK",61:"HEX",62:"NUM",63:"PCT",65:"COMMA",67:"ALPHA",68:"COLON",69:"UNIT",70:"BRKT",71:"DOT",73:"PLUS",74:"EQUALS",75:"MULT",76:"TAG_START",77:"TAG_END",78:"QUOTE"},productions_:[0,[3,3],[3,2],[3,4],[3,3],[4,4],[4,4],[4,4],[4,4],[4,4],[11,1],[11,1],[11,2],[5,3],[5,2],[5,1],[7,2],[7,2],[7,1],[7,1],[18,2],[18,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[22,1],[22,1],[22,1],[21,3],[21,1],[28,4],[28,5],[28,6],[28,7],[28,4],[28,5],[28,4],[28,5],[28,4],[28,5],[28,4],[28,1],[28,2],[30,1],[30,2],[38,1],[38,3],[29,2],[29,3],[29,1],[29,2],[29,5],[29,6],[41,1],[41,1],[41,1],[41,1],[42,3],[32,1],[32,2],[50,1],[50,2],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[58,1],[58,2],[25,5],[26,5],[27,5],[23,5],[23,5],[24,5],[20,3],[60,1],[60,3],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[51,1],[51,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 3:this.$=a[u-3];break;case 4:this.$=a[u-2];break;case 5:n.setDirection(a[u-1]),this.$=a[u-1];break;case 6:n.setDirection("LR"),this.$=a[u-1];break;case 7:n.setDirection("RL"),this.$=a[u-1];break;case 8:n.setDirection("BT"),this.$=a[u-1];break;case 9:n.setDirection("TB"),this.$=a[u-1];break;case 32:n.addLink(a[u-2],a[u],a[u-1]),this.$="oy";break;case 33:this.$="yo";break;case 34:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 35:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 36:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 37:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 40:case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 41:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 45:this.$=a[u],n.addVertex(a[u]);break;case 46:this.$=a[u-1],n.addVertex(a[u-1]);break;case 47:case 49:case 62:case 64:case 73:this.$=a[u];break;case 48:case 63:case 65:case 74:this.$=a[u-1]+""+a[u];break;case 50:this.$=a[u-2]+"-"+a[u];break;case 51:a[u-1].text=a[u],this.$=a[u-1];break;case 52:a[u-2].text=a[u-1],this.$=a[u-2];break;case 53:this.$=a[u];break;case 54:case 61:this.$=a[u-1];break;case 55:a[u].text=a[u-2],this.$=a[u];break;case 56:a[u-1].text=a[u-3],this.$=a[u-1];break;case 57:this.$={type:"arrow"};break;case 58:this.$={type:"arrow_circle"};break;case 59:this.$={type:"arrow_cross"};break;case 60:this.$={type:"arrow_open"};break;case 75:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 76:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 77:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 78:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 79:case 80:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 82:this.$=[a[u]];break;case 83:a[u-2].push(a[u]),this.$=a[u-2];break;case 85:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,8:[1,3]},{1:[3]},{5:4,7:5,9:r,17:n,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,35]},{1:[2,2],6:[1,36]},{5:37,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,15],{19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,7:38,5:39,9:r,17:n,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(A,[2,19],{7:40,9:r,17:n}),t(A,[2,18],{7:41,9:r,17:n}),{17:[1,42]},{6:E,16:x,17:w,22:43},{6:E,16:x,17:w,22:47},{6:E,16:x,17:w,22:48},{6:E,16:x,17:w,22:49},{6:E,16:x,17:w,22:50},{6:E,16:x,17:w,22:51},{63:[1,52]},t(_,[2,33],{29:53,41:54,43:[1,55],44:D,45:k,46:C,47:F}),{9:[1,60]},{9:[1,61]},{9:[1,62]},{9:[1,63]},{9:[1,64]},t(B,[2,45],{9:[1,70],12:[1,68],13:[1,69],31:[1,65],34:[1,66],36:[1,67]}),t(T,[2,47],{38:24,39:25,30:71,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v}),t(S,[2,49],{40:[1,72]}),t(L,[2,104]),t(L,[2,105]),t(L,[2,106]),t(L,[2,107]),t(L,[2,108]),t(L,[2,109]),t(L,[2,110]),t(L,[2,111]),t(L,[2,112]),{10:[1,73],12:[1,74],13:[1,75],14:[1,76],15:[1,77]},{1:[2,1]},{1:[2,4],6:[1,78]},{5:79,19:6,20:9,21:10,23:11,24:12,25:13,26:14,27:15,28:17,30:23,38:24,39:25,53:i,54:a,55:u,56:o,57:s,62:c,63:l,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(b,[2,14]),t(A,[2,16]),t(A,[2,17]),t(N,[2,22]),t(N,[2,23]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),{8:q,9:I,10:O,12:R,13:P,16:M,31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,50:80,51:81,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},{28:113,30:23,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ut,[2,53],{42:114,9:[1,115],48:[1,116]}),{9:[1,117]},t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),{30:118,38:24,39:25,61:[1,119],62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{62:[1,120]},{30:121,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:122,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:123,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:124,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:127,34:[1,126],39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:128,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:129,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:130,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,46]),t(T,[2,48]),{39:131,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:st,11:132,16:ct,17:lt,18:135},{9:st,11:137,16:ct,17:lt,18:135},{9:st,11:138,16:ct,17:lt,18:135},{9:st,11:139,16:ct,17:lt,18:135},{9:st,11:140,16:ct,17:lt,18:135},{1:[2,3]},t(b,[2,13]),{8:q,9:I,10:O,12:R,13:P,16:M,17:[2,81],31:j,33:V,34:U,35:G,36:$,37:H,39:102,40:Y,44:z,45:W,46:Z,47:K,48:X,49:82,51:141,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,72:83,73:y,74:m,75:v,76:nt,77:it,78:at},t(ht,[2,64]),t(ht,[2,95]),t(ht,[2,96]),t(ht,[2,97]),t(ht,[2,98]),t(ht,dt),t(ht,[2,113]),t(ht,[2,114]),t(ht,[2,115]),t(ht,[2,116]),t(ht,[2,117]),t(ht,[2,118]),t(ht,[2,119]),t(ht,[2,120]),t(ht,[2,121]),t(ht,[2,122]),t(ht,[2,123]),t(ht,[2,124]),t(ht,[2,125]),t(ht,[2,126]),t(ht,[2,127]),t(ht,[2,100]),t(ht,pt),t(ht,[2,102]),t(ht,[2,103]),t(ht,[2,66]),t(ht,[2,67]),t(ht,[2,68]),t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(_,[2,32]),t(ut,[2,51],{9:[1,142]}),t(ut,[2,54]),{8:q,9:I,10:O,12:R,13:P,32:143,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,32:144,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:[1,145]},{9:[1,146]},{9:[1,147]},{9:[1,148]},{9:[1,149]},{9:[1,150]},{8:q,9:I,10:O,12:R,13:P,33:[1,151],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(ft,[2,62]),{8:q,9:I,10:O,12:R,13:P,32:153,39:102,40:Y,49:125,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,35:[1,154],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,37:[1,155],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:R,13:P,33:[1,156],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:I,10:O,12:[1,157],13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(S,[2,50]),t(gt,[2,5]),t(gt,[2,10]),t(gt,[2,11]),{17:[1,158]},{9:st,17:[2,21],18:159},t(gt,[2,6]),t(gt,[2,7]),t(gt,[2,8]),t(gt,[2,9]),t(ht,[2,65]),t(ut,[2,52]),{8:q,9:I,10:O,12:R,13:P,39:102,40:Y,48:[1,160],49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{8:q,9:[1,161],10:O,12:R,13:P,39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{9:yt,40:mt,60:162,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:174,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:175,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{9:yt,40:mt,60:176,61:vt,62:bt,64:163,66:164,67:At,68:Et,69:xt,70:wt,71:_t},{30:177,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},{30:178,38:24,39:25,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,34],{9:[1,179]}),t(ft,[2,63]),{8:q,9:I,10:O,12:R,13:P,35:[1,180],39:102,40:Y,49:152,52:105,53:J,54:Q,55:et,56:tt,57:rt,59:84,62:c,65:h,67:d,68:p,70:f,71:g,73:y,74:m,75:v},t(B,[2,38],{9:[1,181]}),t(B,[2,40],{9:[1,182]}),t(B,[2,42],{9:[1,183]}),t(Dt,dt,{6:kt,16:kt,17:kt,43:kt,44:kt,45:kt,46:kt,47:kt}),t(gt,[2,12]),{17:[2,20]},t([9,62,65,67,68,70,71,73,74,75],[2,61]),t(Dt,pt,{41:184,44:D,45:k,46:C,47:F}),t(_,[2,78],{65:Ct}),t(Ft,[2,82],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(Bt,[2,84]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),t(Bt,[2,94]),t(_,[2,79],{65:Ct}),t(_,[2,80],{65:Ct}),t(_,[2,75],{65:Ct}),t(_,[2,76]),t(_,[2,77]),t(B,[2,35]),{35:[1,187]},t(B,[2,39]),t(B,[2,41]),t(B,[2,43]),t(ut,[2,55],{9:[1,188]}),{9:yt,40:mt,61:vt,62:bt,64:189,66:164,67:At,68:Et,69:xt,70:wt,71:_t},t(Bt,[2,85]),t(B,[2,36],{9:[1,190]}),t(ut,[2,56]),t(Ft,[2,83],{66:186,9:yt,40:mt,61:vt,62:bt,67:At,68:Et,69:xt,70:wt,71:_t}),t(B,[2,37])],defaultActions:{36:[2,1],78:[2,3],159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e); -this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 33;case 22:return 34;case 23:return 35;case 24:return 36;case 25:return 37;case 26:return 40;case 27:return 6;case 28:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&c():c()},!1),t.mermaid={init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},St=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:return 57;case 5:return 8;case 6:return 10;case 7:return 10;case 8:return 10;case 9:return 10;case 10:return 10;case 11:return 10;case 12:return 62;case 13:return 70;case 14:return 68;case 15:return 16;case 16:return 65;case 17:return 74;case 18:return 75;case 19:return 71;case 20:return 13;case 21:return 12;case 22:return 14;case 23:return 15;case 24:return 46;case 25:return 44;case 26:return 45;case 27:return 47;case 28:return 43;case 29:return 40;case 30:return 73;case 31:return 63;case 32:return 74;case 33:return 67;case 34:return 48;case 35:return 34;case 36:return 35;case 37:return 31;case 38:return 33;case 39:return 36;case 40:return 37;case 41:return 78;case 42:return 17;case 43:return 9;case 44:return 6}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44],inclusive:!0}}};return e}();return Tt.lexer=St,e.prototype=Tt,Tt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index 53fd251b7..f7d0f637d 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -34,12 +34,13 @@ "title" return 'title'; "sequenceDiagram" return 'SD'; "," return ','; -[^\->:\n,]+ return 'ACTOR'; +";" return 'NL'; +[^\->:\n,;]+ return 'ACTOR'; "->" return 'SOLID_OPEN_ARROW'; "-->" return 'DOTTED_OPEN_ARROW'; "->>" return 'SOLID_ARROW'; "-->>" return 'DOTTED_ARROW'; -":"[^#\n]+ return 'TXT'; +":"[^#\n;]+ return 'TXT'; <> return 'EOF'; . return 'INVALID'; diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js index f891a74b9..2b858a80f 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.js @@ -689,26 +689,28 @@ case 19:return 4; break; case 20:return 28; break; -case 21:return 33; +case 21:return 10; break; -case 22:return 34; +case 22:return 33; break; -case 23:return 35; +case 23:return 34; break; -case 24:return 36; +case 24:return 35; break; -case 25:return 37; +case 25:return 36; break; -case 26:return 40; +case 26:return 37; break; -case 27:return 6; +case 27:return 40; break; -case 28:return 'INVALID'; +case 28:return 6; +break; +case 29:return 'INVALID'; break; } }, -rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i], -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],"inclusive":true}} +rules: [/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i], +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],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index f562efedd..85847dffe 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -272,6 +272,25 @@ describe('when parsing a sequenceDiagram',function() { expect(messages[1].from).toBe('Bob'); + }); + it('it should handle opt statements a sequenceDiagram', function () { + var str = 'sequenceDiagram;Alice->Bob: Hello Bob, how are you?;opt Perhaps a happy response;Bob-->Alice: I am good thanks!;end;'; + + sq.parse(str); + var actors = sq.yy.getActors(); + //console.log(actors); + expect(actors.Alice.description).toBe('Alice'); + actors.Bob.description = 'Bob'; + + var messages = sq.yy.getMessages(); + //console.log(messages); + + expect(messages.length).toBe(4); + expect(messages[0].from).toBe('Alice'); + expect(messages[1].type).toBe(sq.yy.LINETYPE.OPT_START); + expect(messages[2].from).toBe('Bob'); + + }); it('it should handle alt statements a sequenceDiagram', function () { diff --git a/src/main.js b/src/main.js index 60c7c456a..8fa9ab810 100644 --- a/src/main.js +++ b/src/main.js @@ -91,28 +91,9 @@ var equals = function (val, variable){ return (val === variable); } }; -if(typeof document !== 'undefined'){ - /** - * Wait for coument loaded before starting the execution - */ - document.addEventListener('DOMContentLoaded', function(){ - // Check presence of config object - if(typeof mermaid_config !== 'undefined'){ - // Check if property startOnLoad is set - if(equals(true, mermaid_config.startOnLoad)){ - init(); - } - } - else{ - // No config found, do autostart in this simple case - init(); - } - }, false); - -} - global.mermaid = { + startOnLoad:true, init:function(){ init(); }, @@ -122,4 +103,36 @@ global.mermaid = { getParser:function(){ return flow.parser; } -}; \ No newline at end of file +}; + +exports.contentLoaded = function(){ + // Check state of start config mermaid namespece + //console.log('global.mermaid.startOnLoad',global.mermaid.startOnLoad); + //console.log('mermaid_config',mermaid_config); + if(global.mermaid.startOnLoad) { + + // For backwards compatability reasons also check mermaid_config variable + if (typeof mermaid_config !== 'undefined') { + // Check if property startOnLoad is set + if (equals(true, mermaid_config.startOnLoad)) { + global.mermaid.init(); + } + } + else { + // No config found, do autostart in this simple case + global.mermaid.init(); + } + } + +}; + +if(typeof document !== 'undefined'){ + /** + * Wait for coument loaded before starting the execution + */ + document.addEventListener('DOMContentLoaded', function(){ + exports.contentLoaded(); + }, false); +} + + diff --git a/src/main.spec.js b/src/main.spec.js index 10c0ca230..e4cd85369 100644 --- a/src/main.spec.js +++ b/src/main.spec.js @@ -6,35 +6,71 @@ */ var rewire = require("rewire"); var utils = require("./utils"); +var main = require("./main"); describe('when using main and ',function() { describe('when detecting chart type ',function() { - var main; + //var main; + //var document; + //var window; beforeEach(function () { var MockBrowser = require('mock-browser').mocks.MockBrowser; var mock = new MockBrowser(); + delete global.mermaid_config; + // and in the run-code inside some object document = mock.getDocument(); - - + window = mock.getWindow(); }); - it('should not call start anything with an empty document', function () { - - mermaid_config ={startOnLoad : false}; + it('should not start rendering with mermaid_config.startOnLoad set to false', function () { main = rewire('./main'); - - spyOn(utils,'detectType'); - expect(utils.detectType).not.toHaveBeenCalled(); - }); - it('should start something with a mermaid document', function () { mermaid_config ={startOnLoad : false}; + + document.body.innerHTML = '
graph TD;\na;
'; + spyOn(global.mermaid,'init'); + //console.log(main); + main.contentLoaded(); + expect(global.mermaid.init).not.toHaveBeenCalled(); + }); + + it('should not start rendering with mermaid.startOnLoad set to false', function () { + main = rewire('./main'); + mermaid.startOnLoad = false; + mermaid_config ={startOnLoad : true}; + + document.body.innerHTML = '
graph TD;\na;
'; + spyOn(global.mermaid,'init'); + main.contentLoaded(); + expect(global.mermaid.init).not.toHaveBeenCalled(); + }); + + it('should start rendering with both startOnLoad set', function () { + main = rewire('./main'); + mermaid.startOnLoad = true; + mermaid_config ={startOnLoad : true}; + document.body.innerHTML = '
graph TD;\na;
'; + spyOn(global.mermaid,'init'); + main.contentLoaded(); + expect(global.mermaid.init).toHaveBeenCalled(); + }); + + it('should start rendering with mermaid.startOnLoad set and no mermaid_config defined', function () { + main = rewire('./main'); + mermaid.startOnLoad = true; + document.body.innerHTML = '
graph TD;\na;
'; + spyOn(global.mermaid,'init'); + main.contentLoaded(); + expect(global.mermaid.init).toHaveBeenCalled(); + }); + + it('should start rendering as a default with no changes performed', function () { main = rewire('./main'); document.body.innerHTML = '
graph TD;\na;
'; - spyOn(utils,'detectType'); - mermaid.init(); - expect(utils.detectType).toHaveBeenCalled(); + spyOn(global.mermaid,'init'); + main.contentLoaded(); + expect(global.mermaid.init).toHaveBeenCalled(); }); }); diff --git a/test/seq.html b/test/seq.html index 655783ba5..b4e22d361 100644 --- a/test/seq.html +++ b/test/seq.html @@ -18,7 +18,15 @@ +

No line breaks

+
+ sequenceDiagram;Alice->>Bob: Hello Bob, how are you?;Bob-->Bob: Hmmm?;Bob-->Alice: Ok; +
+
+ sequenceDiagram;loop Daily query;Alice->>Bob: Hello Bob, how are you?;alt is sick;Bob->>Alice: Not so good :(;else is well;Bob->>Alice: Feeling fresh like a daisy;end;opt Extra response;Bob->>Alice: Thanks for asking;end;end; +

Message types

+
sequenceDiagram Alice->>Bob: Hello Bob, how are you? diff --git a/test/web.html b/test/web.html index aba993cc5..9736f5ac7 100644 --- a/test/web.html +++ b/test/web.html @@ -9,6 +9,7 @@ var mermaid_config = { startOnLoad:true } + mermaid.startOnLoad=true; + +

Shapes

- Shape examples: -
-        graph TD;
-            sq[Square shape]-->ci((Circle shape));
-            od>Odd shape]---|Two line <br>edge comment|ro;
-            od2>Really long text in an Odd shape]-->od3>Really long text with linebreak <br>in an Odd shape];
-            di{Diamond is  <br> broken}-->ro(Rounded <br>square <br>shape);
-
-            %% Comments after double percent signs
-            di-->ro2(Rounded square shape);
-            e((Inner circle))-->f(,.?!+-*ز);
-            A[Object]-->B(Thing);
-            style e red;
-    
graph TD; A-->B; @@ -40,19 +34,52 @@ A-->D; B-->D; A-->|Link text|B + classDef default fill:#9f6,stroke:#333,stroke-width:2px; + classDef green fill:#9f6,stroke:#333,stroke-width:2px; + class green B;
-
- graph TD; - sq[Square shape]-->ci((Circle shape)); - od>Odd shape]---|Two line
edge comment|ro; - od2>Really long text in an Odd shape]-->od3>Really long text with linebreak
in an Odd shape]; - di{Diamond is
broken}-->ro(Rounded
square
shape); - di-->ro2(Rounded square shape); +

Sub graphs

+
graph TB + subgraph + sq[Square shape] --> ci((Circle shape)) + od>Odd shape]-- Two line
edge comment --> ro + di{Diamond with
line break} --> ro(Rounded
square
shape) + di-->ro2(Rounded square shape) + end + + %% Notice that no text in shape are added here instead that is appended further down + subgraph + e --> od3>Really long text with linebreak
in an Odd shape] + + e((Inner / circle
and some odd
special characters)) --> f(,.?!+-*ز) + + cyr[Cyrillic]-->cyr2((Circle shape Начало)) + end + classDef green fill:#9f6,stroke:#333,stroke-width:2px; + classDef orange fill:#f96,stroke:#333,stroke-width:4px; + class sq,e green + class di orange +
+
+ graph TB + subgraph + sq[Square shape]-->ci((Circle shape)) + od>Odd shape]---|Two line
edge comment|ro + end + subgraph + od2>Really long text in an Odd shape]-->od3>Really long text with linebreak
in an Odd shape]; + di{Diamond is
broken}-->ro(Rounded
square
shape); + di-->ro2(Rounded square shape) + end %% Comments after double percent signs - e((Inner / circle))-->f(,.?!+-*ز); - cyr[Cyrillic]-->cyr2((Circle shape Начало)); - A[Object foo,bar]-->B(Thing); + subgraph + e((Inner / circle))-->f(,.?!+-*ز); + cyr[Cyrillic]-->cyr2((Circle shape Начало)); + A[Object foo,bar]-->B(Thing) + end style e red; + classDef green fill:#9f6,stroke:#333,stroke-width:2px; + class green sq
graph LR; @@ -88,7 +115,7 @@ participant Alice Note left of Alice: Bob thinks about
things
to think about
-
+
sequenceDiagram participant Alice participant Bob @@ -107,7 +134,7 @@
-
+
graph LR; A[Start]-->B{a = '1,2'} B-->|True|C[test = 1] From 952723706b1b02202b3e134dc1d26a71e7f93b99 Mon Sep 17 00:00:00 2001 From: knsv Date: Thu, 8 Jan 2015 08:20:07 +0100 Subject: [PATCH 44/48] Making it possible to have style/% in class definitions as described in issue #54 --- dist/mermaid.full.js | 6 +++--- dist/mermaid.full.min.js | 6 +++--- dist/mermaid.slim.js | 6 +++--- dist/mermaid.slim.min.js | 6 +++--- src/diagrams/flowchart/parser/flow.jison | 2 +- src/diagrams/flowchart/parser/flow.js | 6 +++--- src/diagrams/flowchart/parser/flow.spec.js | 20 ++++++++++++++++++++ test/web.html | 2 +- 8 files changed, 37 insertions(+), 17 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index fdb98ec04..e8e6cd8eb 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -14453,12 +14453,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,104],$Va1=[2,106],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,178],$Vf1=[1,175],$Vg1=[1,172],$Vh1=[1,173],$Vi1=[1,176],$Vj1=[1,179],$Vk1=[1,180],$Vl1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vm1=[2,47],$Vn1=[1,192],$Vo1=[9,10,19,69],$Vp1=[9,10,12,19,44,65,66,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14605,7 +14605,7 @@ this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,109]),o($VA,[2,110]),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,100]),o($V81,[2,101]),o($V81,[2,102]),o($V81,[2,103]),o($V81,$V91),o($V81,[2,118]),o($V81,[2,119]),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,105]),o($V81,$Va1),o($V81,[2,107]),o($V81,[2,108]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,64:169,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:181,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:182,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:183,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{34:184,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:185,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,186]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,187],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,188]}),o($Vx,[2,43],{12:[1,189]}),o($Vx,[2,45],{12:[1,190]}),o($Vl1,$V91,{9:$Vm1,10:$Vm1,19:$Vm1,47:$Vm1,48:$Vm1,49:$Vm1,50:$Vm1,51:$Vm1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vl1,$Va1,{45:191,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vn1}),o($Vo1,[2,87],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vp1,[2,89]),o($Vp1,[2,91]),o($Vp1,[2,92]),o($Vp1,[2,93]),o($Vp1,[2,94]),o($Vp1,[2,95]),o($Vp1,[2,96]),o($Vp1,[2,97]),o($Vp1,[2,98]),o($Vp1,[2,99]),o($Vs,[2,84],{69:$Vn1}),o($Vs,[2,85],{69:$Vn1}),o($Vs,[2,80],{69:$Vn1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,194]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,195]}),{12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,68:196,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},o($Vp1,[2,90]),o($Vx,[2,39],{12:[1,197]}),o($V61,[2,59]),o($Vo1,[2,88],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vx,[2,40])], +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], defaultActions: {147:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index e5b504634..4725e1ac2 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -34,6 +34,6 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,104],xt=[2,106],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,178],Ct=[1,175],Ft=[1,172],Bt=[1,173],Tt=[1,176],St=[1,179],Lt=[1,180],Nt=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],qt=[2,47],It=[1,192],Ot=[9,10,19,69],Rt=[9,10,12,19,44,65,66,69,71,72,73,74,75],Pt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]); -break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,109]),t(P,[2,110]),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,100]),t(At,[2,101]),t(At,[2,102]),t(At,[2,103]),t(At,Et),t(At,[2,118]),t(At,[2,119]),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,105]),t(At,xt),t(At,[2,107]),t(At,[2,108]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,64:169,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:181,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:182,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:183,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{34:184,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:185,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,186]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,187],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,188]}),t(I,[2,43],{12:[1,189]}),t(I,[2,45],{12:[1,190]}),t(Nt,Et,{9:qt,10:qt,19:qt,47:qt,48:qt,49:qt,50:qt,51:qt}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(Nt,xt,{45:191,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:It}),t(Ot,[2,87],{70:193,12:_t,44:Dt,65:kt,66:Ct,71:Ft,72:Bt,73:Tt,74:St,75:Lt}),t(Rt,[2,89]),t(Rt,[2,91]),t(Rt,[2,92]),t(Rt,[2,93]),t(Rt,[2,94]),t(Rt,[2,95]),t(Rt,[2,96]),t(Rt,[2,97]),t(Rt,[2,98]),t(Rt,[2,99]),t(T,[2,84],{69:It}),t(T,[2,85],{69:It}),t(T,[2,80],{69:It}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,194]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,195]}),{12:_t,44:Dt,65:kt,66:Ct,68:196,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},t(Rt,[2,90]),t(I,[2,39],{12:[1,197]}),t(vt,[2,59]),t(Ot,[2,88],{70:193,12:_t,44:Dt,65:kt,66:Ct,71:Ft,72:Bt,73:Tt,74:St,75:Lt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Mt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return Pt.lexer=Mt,e.prototype=Pt,Pt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); +break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; +if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 5bbb16069..05dec409b 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -14421,12 +14421,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,104],$Va1=[2,106],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,178],$Vf1=[1,175],$Vg1=[1,172],$Vh1=[1,173],$Vi1=[1,176],$Vj1=[1,179],$Vk1=[1,180],$Vl1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vm1=[2,47],$Vn1=[1,192],$Vo1=[9,10,19,69],$Vp1=[9,10,12,19,44,65,66,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14573,7 +14573,7 @@ this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,109]),o($VA,[2,110]),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,100]),o($V81,[2,101]),o($V81,[2,102]),o($V81,[2,103]),o($V81,$V91),o($V81,[2,118]),o($V81,[2,119]),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,105]),o($V81,$Va1),o($V81,[2,107]),o($V81,[2,108]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,64:169,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:181,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:182,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:183,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{34:184,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:185,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,186]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,187],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,188]}),o($Vx,[2,43],{12:[1,189]}),o($Vx,[2,45],{12:[1,190]}),o($Vl1,$V91,{9:$Vm1,10:$Vm1,19:$Vm1,47:$Vm1,48:$Vm1,49:$Vm1,50:$Vm1,51:$Vm1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vl1,$Va1,{45:191,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vn1}),o($Vo1,[2,87],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vp1,[2,89]),o($Vp1,[2,91]),o($Vp1,[2,92]),o($Vp1,[2,93]),o($Vp1,[2,94]),o($Vp1,[2,95]),o($Vp1,[2,96]),o($Vp1,[2,97]),o($Vp1,[2,98]),o($Vp1,[2,99]),o($Vs,[2,84],{69:$Vn1}),o($Vs,[2,85],{69:$Vn1}),o($Vs,[2,80],{69:$Vn1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,194]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,195]}),{12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,68:196,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},o($Vp1,[2,90]),o($Vx,[2,39],{12:[1,197]}),o($V61,[2,59]),o($Vo1,[2,88],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vx,[2,40])], +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], defaultActions: {147:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index a2b32e282..0734da0fc 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -2,6 +2,6 @@ }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,104],xt=[2,106],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,178],Ct=[1,175],Ft=[1,172],Bt=[1,173],Tt=[1,176],St=[1,179],Lt=[1,180],Nt=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],qt=[2,47],It=[1,192],Ot=[9,10,19,69],Rt=[9,10,12,19,44,65,66,69,71,72,73,74,75],Pt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]); -break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,109]),t(P,[2,110]),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,100]),t(At,[2,101]),t(At,[2,102]),t(At,[2,103]),t(At,Et),t(At,[2,118]),t(At,[2,119]),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,105]),t(At,xt),t(At,[2,107]),t(At,[2,108]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,64:169,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:181,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:182,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{12:_t,44:Dt,64:183,65:kt,66:Ct,68:170,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},{34:184,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:185,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,186]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,187],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,188]}),t(I,[2,43],{12:[1,189]}),t(I,[2,45],{12:[1,190]}),t(Nt,Et,{9:qt,10:qt,19:qt,47:qt,48:qt,49:qt,50:qt,51:qt}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(Nt,xt,{45:191,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:It}),t(Ot,[2,87],{70:193,12:_t,44:Dt,65:kt,66:Ct,71:Ft,72:Bt,73:Tt,74:St,75:Lt}),t(Rt,[2,89]),t(Rt,[2,91]),t(Rt,[2,92]),t(Rt,[2,93]),t(Rt,[2,94]),t(Rt,[2,95]),t(Rt,[2,96]),t(Rt,[2,97]),t(Rt,[2,98]),t(Rt,[2,99]),t(T,[2,84],{69:It}),t(T,[2,85],{69:It}),t(T,[2,80],{69:It}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,194]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,195]}),{12:_t,44:Dt,65:kt,66:Ct,68:196,70:171,71:Ft,72:Bt,73:Tt,74:St,75:Lt},t(Rt,[2,90]),t(I,[2,39],{12:[1,197]}),t(vt,[2,59]),t(Ot,[2,88],{70:193,12:_t,44:Dt,65:kt,66:Ct,71:Ft,72:Bt,73:Tt,74:St,75:Lt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Mt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return Pt.lexer=Mt,e.prototype=Pt,Pt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); +break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; +if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index 07d5e3800..acf9bad44 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -341,7 +341,7 @@ style: styleComponent {$$ = $1 + $2;} ; -styleComponent: ALPHA | COLON | MINUS | NUM | UNIT | SPACE | HEX | BRKT | DOT; +styleComponent: ALPHA | COLON | MINUS | NUM | UNIT | SPACE | HEX | BRKT | DOT | STYLE | PCT ; /* Token lists */ diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index 4a5b77b3f..440fd5846 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,104],$Va1=[2,106],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,178],$Vf1=[1,175],$Vg1=[1,172],$Vh1=[1,173],$Vi1=[1,176],$Vj1=[1,179],$Vk1=[1,180],$Vl1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vm1=[2,47],$Vn1=[1,192],$Vo1=[9,10,19,69],$Vp1=[9,10,12,19,44,65,66,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -224,7 +224,7 @@ this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,109]),o($VA,[2,110]),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,100]),o($V81,[2,101]),o($V81,[2,102]),o($V81,[2,103]),o($V81,$V91),o($V81,[2,118]),o($V81,[2,119]),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,105]),o($V81,$Va1),o($V81,[2,107]),o($V81,[2,108]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,64:169,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:181,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:182,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{12:$Vc1,44:$Vd1,64:183,65:$Ve1,66:$Vf1,68:170,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},{34:184,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:185,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,186]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,187],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,188]}),o($Vx,[2,43],{12:[1,189]}),o($Vx,[2,45],{12:[1,190]}),o($Vl1,$V91,{9:$Vm1,10:$Vm1,19:$Vm1,47:$Vm1,48:$Vm1,49:$Vm1,50:$Vm1,51:$Vm1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vl1,$Va1,{45:191,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vn1}),o($Vo1,[2,87],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vp1,[2,89]),o($Vp1,[2,91]),o($Vp1,[2,92]),o($Vp1,[2,93]),o($Vp1,[2,94]),o($Vp1,[2,95]),o($Vp1,[2,96]),o($Vp1,[2,97]),o($Vp1,[2,98]),o($Vp1,[2,99]),o($Vs,[2,84],{69:$Vn1}),o($Vs,[2,85],{69:$Vn1}),o($Vs,[2,80],{69:$Vn1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,194]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,195]}),{12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,68:196,70:171,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1},o($Vp1,[2,90]),o($Vx,[2,39],{12:[1,197]}),o($V61,[2,59]),o($Vo1,[2,88],{70:193,12:$Vc1,44:$Vd1,65:$Ve1,66:$Vf1,71:$Vg1,72:$Vh1,73:$Vi1,74:$Vj1,75:$Vk1}),o($Vx,[2,40])], +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], defaultActions: {147:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 53199686b..cea9f00c7 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -288,6 +288,26 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow'); }); + it('should handle classDefs with style in classes',function(){ + var res = flow.parser.parse('graph TD\nA-->B\nclassDef exClass font-style:bold;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow'); + }); + + it('should handle classDefs with % in classes',function(){ + var res = flow.parser.parse('graph TD\nA-->B\nclassDef exClass fill:#f96,stroke:#333,stroke-width:4px,font-size:50%,font-style:bold;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow'); + }); + describe("it should handle text on edges",function(){ it('it should handle text without space',function(){ var res = flow.parser.parse('graph TD;A--x|textNoSpace|B;'); diff --git a/test/web.html b/test/web.html index 726c99bdc..a6f362f2c 100644 --- a/test/web.html +++ b/test/web.html @@ -56,7 +56,7 @@ cyr[Cyrillic]-->cyr2((Circle shape Начало)) end classDef green fill:#9f6,stroke:#333,stroke-width:2px; - classDef orange fill:#f96,stroke:#333,stroke-width:4px; + classDef orange fill:#f96,stroke:#333,stroke-width:4px,font-size:50%,font-style:bold; class sq,e green class di orange
From 36b389b1fdb648711a957c42cbd8eb94790eb993 Mon Sep 17 00:00:00 2001 From: knsv Date: Fri, 9 Jan 2015 08:21:48 +0100 Subject: [PATCH 45/48] Added arrow head to async arrow with cross --- dist/mermaid.full.js | 33 +++++++++++++++++-------- dist/mermaid.full.min.js | 2 +- dist/mermaid.slim.js | 33 +++++++++++++++++-------- dist/mermaid.slim.min.js | 2 +- src/diagrams/sequenceDiagram/svgDraw.js | 33 +++++++++++++++++-------- 5 files changed, 71 insertions(+), 32 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index e8e6cd8eb..09b2bdbc9 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -16602,19 +16602,32 @@ exports.insertArrowHead = function(elem){ * Setup arrow head and define the marker. The result is appended to the svg. */ exports.insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") + var defs = elem.append("defs"); + var marker = defs.append("marker") .attr("id", "crosshead") - .attr("markerWidth", 8) + .attr("markerWidth", 15) .attr("markerHeight", 8) .attr("orient", "auto") - .attr("refX", 15) - .attr("refY", 4) - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead + .attr("refX", 16) + .attr("refY", 4); + + // The arrow + marker.append("path") + .attr("fill",'black') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 9,2 V 6 L16,4 Z"); + + // The cross + marker.append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") + ; //this is actual shape for arrowhead + }; exports.getTextObj = function(){ diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 4725e1ac2..ef0b0f42f 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -36,4 +36,4 @@ return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(thi },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; -if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 05dec409b..80092f477 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -16570,19 +16570,32 @@ exports.insertArrowHead = function(elem){ * Setup arrow head and define the marker. The result is appended to the svg. */ exports.insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") + var defs = elem.append("defs"); + var marker = defs.append("marker") .attr("id", "crosshead") - .attr("markerWidth", 8) + .attr("markerWidth", 15) .attr("markerHeight", 8) .attr("orient", "auto") - .attr("refX", 15) - .attr("refY", 4) - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead + .attr("refX", 16) + .attr("refY", 4); + + // The arrow + marker.append("path") + .attr("fill",'black') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 9,2 V 6 L16,4 Z"); + + // The cross + marker.append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") + ; //this is actual shape for arrowhead + }; exports.getTextObj = function(){ diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 0734da0fc..58dffee53 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -4,4 +4,4 @@ return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(thi },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} },{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; -if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").attr("refX",15).attr("refY",4).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 1,1 L 7,7 M 7,1 L 1,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/sequenceDiagram/svgDraw.js b/src/diagrams/sequenceDiagram/svgDraw.js index c70bc56c1..17fa87e08 100644 --- a/src/diagrams/sequenceDiagram/svgDraw.js +++ b/src/diagrams/sequenceDiagram/svgDraw.js @@ -168,19 +168,32 @@ exports.insertArrowHead = function(elem){ * Setup arrow head and define the marker. The result is appended to the svg. */ exports.insertArrowCrossHead = function(elem){ - elem.append("defs").append("marker") + var defs = elem.append("defs"); + var marker = defs.append("marker") .attr("id", "crosshead") - .attr("markerWidth", 8) + .attr("markerWidth", 15) .attr("markerHeight", 8) .attr("orient", "auto") - .attr("refX", 15) - .attr("refY", 4) - .append("path") - .attr("fill",'none') - .attr("stroke",'#000000') - .style("stroke-dasharray", ("0, 0")) - .attr("stroke-width",'1px') - .attr("d", "M 1,1 L 7,7 M 7,1 L 1,7"); //this is actual shape for arrowhead + .attr("refX", 16) + .attr("refY", 4); + + // The arrow + marker.append("path") + .attr("fill",'black') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 9,2 V 6 L16,4 Z"); + + // The cross + marker.append("path") + .attr("fill",'none') + .attr("stroke",'#000000') + .style("stroke-dasharray", ("0, 0")) + .attr("stroke-width",'1px') + .attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") + ; //this is actual shape for arrowhead + }; exports.getTextObj = function(){ From 302788284723896dac4bd178000c8208dffe4951 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 10 Jan 2015 14:33:41 +0100 Subject: [PATCH 46/48] Added notation for dotted links as described in issue #26 and support for thicker links --- dist/mermaid.full.js | 225 ++++++++++++++------- dist/mermaid.full.min.js | 10 +- dist/mermaid.slim.js | 225 ++++++++++++++------- dist/mermaid.slim.min.js | 10 +- src/diagrams/flowchart/flowRenderer.js | 22 +- src/diagrams/flowchart/graphDb.js | 1 + src/diagrams/flowchart/parser/flow.jison | 60 ++++-- src/diagrams/flowchart/parser/flow.js | 202 +++++++++++------- src/diagrams/flowchart/parser/flow.spec.js | 77 +++++++ test/web.html | 6 +- 10 files changed, 582 insertions(+), 256 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index 09b2bdbc9..db2ea8f6f 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13191,16 +13191,34 @@ exports.addEdges = function (edges, g) { } var style = ''; + + + if(typeof edge.style !== 'undefined'){ edge.style.forEach(function(s){ style = style + s +';'; }); } + else{ + switch(edge.stroke){ + case 'normal': + style = 'stroke: #333; stroke-width: 1.5px;fill:none'; + break; + case 'dotted': + style = 'stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;'; + break; + case 'thick': + style = 'stroke: #333; stroke-width: 3.5px;fill:none'; + break; + } + + + } // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: style, arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -13211,7 +13229,7 @@ exports.addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{labelType: "html",style: "stroke: #333; stroke-width: 1.5px;fill:none", labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{labelType: "html",style: style, labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { labelType: "html",style: style, arrowheadStyle: "fill: #333", label: edge.text, arrowhead: aHead @@ -13469,6 +13487,7 @@ exports.addLink = function (start, end, type, linktext) { if (typeof type !== 'undefined') { edge.type = type.type; + edge.stroke = type.stroke; } edges.push(edge); }; @@ -14453,12 +14472,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14474,7 +14493,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 50: case 52: case 65: case 67: case 78: +case 4: case 5: case 49: case 51: case 76: case 78: case 89: this.$=$$[$0]; break; case 8: @@ -14525,7 +14544,7 @@ break; case 42: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 43: case 47: +case 43: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 44: @@ -14537,76 +14556,100 @@ break; case 46: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 48: +case 47: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 49: +case 48: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 51: case 66: case 68: case 79: +case 50: case 77: case 79: case 90: this.$=$$[$0-1]+''+$$[$0]; break; -case 53: +case 52: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 54: +case 53: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 55: +case 54: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 56: +case 55: this.$ = $$[$0]; break; -case 57: case 64: +case 56: case 75: this.$ = $$[$0-1]; break; -case 58: +case 57: case 59: case 61: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 59: +case 58: case 60: case 62: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 60: -this.$ = {"type":"arrow"}; -break; -case 61: -this.$ = {"type":"arrow_circle"}; -break; -case 62: -this.$ = {"type":"arrow_cross"}; -break; case 63: -this.$ = {"type":"arrow_open"}; +this.$ = {"type":"arrow","stroke":"normal"}; break; -case 80: +case 64: +this.$ = {"type":"arrow_circle","stroke":"normal"}; +break; +case 65: +this.$ = {"type":"arrow_cross","stroke":"normal"}; +break; +case 66: +this.$ = {"type":"arrow_open","stroke":"normal"}; +break; +case 67: +this.$ = {"type":"arrow","stroke":"dotted"}; +break; +case 68: +this.$ = {"type":"arrow_circle","stroke":"dotted"}; +break; +case 69: +this.$ = {"type":"arrow_cross","stroke":"dotted"}; +break; +case 70: +this.$ = {"type":"arrow_open","stroke":"dotted"}; +break; +case 71: +this.$ = {"type":"arrow","stroke":"thick"}; +break; +case 72: +this.$ = {"type":"arrow_circle","stroke":"thick"}; +break; +case 73: +this.$ = {"type":"arrow_cross","stroke":"thick"}; +break; +case 74: +this.$ = {"type":"arrow_open","stroke":"thick"}; +break; +case 91: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 81: +case 92: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 82: +case 93: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 83: +case 94: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 84: case 85: +case 95: case 96: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 87: +case 98: this.$ = [$$[$0]] break; -case 88: +case 99: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 90: +case 101: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], -defaultActions: {147:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], +defaultActions: {159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15080,15 +15123,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 57; +case 0:return 67; break; -case 1:return 58; +case 1:return 68; break; -case 2:return 59; +case 2:return 69; break; -case 3:return 60; +case 3:return 70; break; -case 4:return 61; +case 4:return 71; break; case 5:return 11; break; @@ -15108,76 +15151,104 @@ case 12:return 13; break; case 13:return 13; break; -case 14:return 66; +case 14:return 76; break; -case 15:return 74; +case 15:return 84; break; -case 16:return 72; +case 16:return 82; break; case 17:return 9; break; -case 18:return 69; +case 18:return 79; break; -case 19:return 78; +case 19:return 89; break; -case 20:return 79; +case 20:return 16; break; -case 21:return 75; +case 21:return 15; break; -case 22:return 16; +case 22:return 17; break; -case 23:return 15; +case 23:return 18; break; -case 24:return 17; +case 24:return 52; break; -case 25:return 18; +case 25:return 50; break; -case 26:return 50; +case 26:return 51; break; -case 27:return 48; +case 27:return 53; break; -case 28:return 49; +case 28:return 56; break; -case 29:return 51; +case 29:return 54; break; -case 30:return 47; +case 30:return 55; break; -case 31:return 44; +case 31:return 57; break; -case 32:return 77; +case 32:return 56; break; -case 33:return 67; +case 33:return 54; break; -case 34:return 78; +case 34:return 55; break; -case 35:return 71; +case 35:return 57; break; -case 36:return 52; +case 36:return 60; break; -case 37:return 38; +case 37:return 58; break; -case 38:return 39; +case 38:return 59; break; -case 39:return 35; +case 39:return 61; break; -case 40:return 37; +case 40:return 47; break; -case 41:return 40 +case 41:return 48; break; -case 42:return 41 +case 42:return 49; break; -case 43:return 82; +case 43:return 44; break; -case 44:return 19; +case 44:return 85; break; -case 45:return 12; +case 45:return 87; break; -case 46:return 10; +case 46:return 77; +break; +case 47:return 88; +break; +case 48:return 88; +break; +case 49:return 81; +break; +case 50:return 62; +break; +case 51:return 38; +break; +case 52:return 39; +break; +case 53:return 35; +break; +case 54:return 37; +break; +case 55:return 40 +break; +case 56:return 41 +break; +case 57:return 92; +break; +case 58:return 19; +break; +case 59:return 12; +break; +case 60:return 10; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43,44,45,46],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],"inclusive":true}} }); return lexer; })(); diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index ef0b0f42f..9aeb3e24c 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -30,10 +30,10 @@ 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(++indexm?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},R,v(r,O),A.pick(r,I))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,q),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var O=["nodesep","edgesep","ranksep","marginx","marginy"],R={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},I=["acyclicer","ranker","rankdir","align"],q=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); -break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; -if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,65],L=[1,66],N=[1,67],O=[1,68],R=[1,69],I=[1,70],q=[1,71],P=[1,72],M=[1,73],j=[1,74],V=[1,75],U=[1,76],G=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],H=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Y=[1,90],z=[1,93],W=[1,91],K=[1,100],Z=[1,99],X=[1,124],J=[1,134],Q=[1,126],et=[1,135],tt=[1,107],rt=[1,106],nt=[1,136],it=[1,137],at=[1,113],ut=[1,114],ot=[1,111],st=[1,112],ct=[1,115],lt=[1,116],ht=[1,127],dt=[1,109],pt=[1,108],ft=[1,120],gt=[1,121],yt=[1,119],mt=[1,122],vt=[1,110],bt=[1,129],At=[1,130],Et=[1,131],xt=[1,132],wt=[1,133],_t=[1,117],Dt=[1,118],kt=[1,123],Ct=[76,79,81,82,84,85,87,88,89],Ft=[12,62,76,79,81,82,84,85,87,88,89],Bt=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Tt=[2,121],St=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Lt=[1,192],Nt=[1,189],Ot=[1,196],Rt=[1,193],It=[1,190],qt=[1,197],Pt=[1,187],Mt=[1,188],jt=[1,191],Vt=[1,194],Ut=[1,195],Gt=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$t=[1,211],Ht=[9,10,19,79],Yt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],zt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 49:case 51:case 76:case 78:case 89:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd"); +break;case 47:this.$=a[u],n.addVertex(a[u]);break;case 48:this.$=a[u-1],n.addVertex(a[u-1]);break;case 50:case 77:case 79:case 90:this.$=a[u-1]+""+a[u];break;case 52:this.$=a[u-2]+"-"+a[u];break;case 53:a[u-1].text=a[u],this.$=a[u-1];break;case 54:a[u-2].text=a[u-1],this.$=a[u-2];break;case 55:this.$=a[u];break;case 56:case 75:this.$=a[u-1];break;case 57:case 59:case 61:a[u].text=a[u-2],this.$=a[u];break;case 58:case 60:case 62:a[u-1].text=a[u-3],this.$=a[u-1];break;case 63:this.$={type:"arrow",stroke:"normal"};break;case 64:this.$={type:"arrow_circle",stroke:"normal"};break;case 65:this.$={type:"arrow_cross",stroke:"normal"};break;case 66:this.$={type:"arrow_open",stroke:"normal"};break;case 67:this.$={type:"arrow",stroke:"dotted"};break;case 68:this.$={type:"arrow_circle",stroke:"dotted"};break;case 69:this.$={type:"arrow_cross",stroke:"dotted"};break;case 70:this.$={type:"arrow_open",stroke:"dotted"};break;case 71:this.$={type:"arrow",stroke:"thick"};break;case 72:this.$={type:"arrow_circle",stroke:"thick"};break;case 73:this.$={type:"arrow_cross",stroke:"thick"};break;case 74:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 92:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 95:case 96:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 98:this.$=[a[u]];break;case 99:a[u-2].push(a[u]),this.$=a[u-2];break;case 101:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n,{5:58}),{77:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},t(G,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t($,[2,49]),t($,[2,51],{44:[1,88]}),t(H,[2,124]),t(H,[2,125]),t(H,[2,126]),t(H,[2,127]),t(H,[2,128]),t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),{9:Y,12:z,14:89,19:W,20:92},{9:Y,12:z,14:94,19:W,20:92},{9:Y,12:z,14:95,19:W,20:92},{9:Y,12:z,14:96,19:W,20:92},{9:Y,12:z,14:97,19:W,20:92},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:K,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:98,31:Z,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:X,11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,64:101,65:102,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},{32:138,34:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Ct,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},t(Ft,[2,63]),t(Ft,[2,64]),t(Ft,[2,65]),t(Ft,[2,66]),t(Ft,[2,67]),t(Ft,[2,68]),t(Ft,[2,69]),t(Ft,[2,70]),t(Ft,[2,71]),t(Ft,[2,72]),t(Ft,[2,73]),t(Ft,[2,74]),{34:145,42:29,43:30,75:[1,146],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,147]},{34:148,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:149,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:151,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:154,38:[1,153],43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:155,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:156,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,48]),t($,[2,50]),{43:157,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,158]},{12:z,19:[2,21],20:159},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:160},t(T,[2,30]),t(D,k,{7:46,30:161,12:K,19:o,31:Z}),{9:X,11:J,12:Q,13:et,15:tt,16:rt,19:[2,97],29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,65:162,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},t(Bt,[2,78]),t(Bt,[2,113]),t(Bt,[2,114]),t(Bt,[2,115]),t(Bt,[2,116]),t(Bt,[2,117]),t(Bt,[2,118]),t(Bt,[2,119]),t(Bt,[2,133]),t(Bt,[2,134]),t(Bt,[2,135]),t(Bt,[2,136]),t(Bt,[2,137]),t(Bt,[2,138]),t(Bt,[2,139]),t(Bt,[2,140]),t(Bt,[2,141]),t(Bt,[2,142]),t(Bt,[2,143]),t(Bt,[2,144]),t(Bt,[2,145]),t(Bt,[2,146]),t(Bt,[2,147]),t(Bt,[2,120]),t(Bt,Tt),t(Bt,[2,122]),t(Bt,[2,123]),t(Bt,[2,80]),t(Bt,[2,81]),t(Bt,[2,82]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(T,[2,35]),t(Ct,[2,53],{12:[1,163]}),t(Ct,[2,56]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:164,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:165,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:166,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:167,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,168],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,173],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,174],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(St,[2,76]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:176,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,177],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,41:[1,178],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,179],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t($,[2,52]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(Bt,[2,79]),t(Ct,[2,54]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,62:[1,180],63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,181],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,182],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,183],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Lt,44:Nt,67:Ot,74:184,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:198,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:199,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:200,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{34:201,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:202,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,37],{12:[1,203]}),t(St,[2,77]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,204],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,41],{12:[1,205]}),t(G,[2,43],{12:[1,206]}),t(G,[2,45],{12:[1,207]}),t([12,76,79,81,82,84,85,87,88,89],[2,75]),t(Gt,Tt,{45:208,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:209,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:210,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(T,[2,94],{79:$t}),t(Ht,[2,98],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(Yt,[2,100]),t(Yt,[2,102]),t(Yt,[2,103]),t(Yt,[2,104]),t(Yt,[2,105]),t(Yt,[2,106]),t(Yt,[2,107]),t(Yt,[2,108]),t(Yt,[2,109]),t(Yt,[2,110]),t(Yt,[2,111]),t(Yt,[2,112]),t(T,[2,95],{79:$t}),t(T,[2,96],{79:$t}),t(T,[2,91],{79:$t}),t(T,[2,92],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(T,[2,93],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(G,[2,38]),{39:[1,213]},t(G,[2,42]),t(G,[2,44]),t(G,[2,46]),t(Ct,[2,57],{12:[1,214]}),t(Ct,[2,59],{12:[1,215]}),t(Ct,[2,61],{12:[1,216]}),{12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,78:217,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},t(Yt,[2,101]),t(G,[2,39],{12:[1,218]}),t(Ct,[2,58]),t(Ct,[2,60]),t(Ct,[2,62]),t(Ht,[2,99],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(G,[2,40])],defaultActions:{159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Wt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 35;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return zt.lexer=Wt,e.prototype=zt,zt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e +},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 80092f477..ad41b7b46 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -13159,16 +13159,34 @@ exports.addEdges = function (edges, g) { } var style = ''; + + + if(typeof edge.style !== 'undefined'){ edge.style.forEach(function(s){ style = style + s +';'; }); } + else{ + switch(edge.stroke){ + case 'normal': + style = 'stroke: #333; stroke-width: 1.5px;fill:none'; + break; + case 'dotted': + style = 'stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;'; + break; + case 'thick': + style = 'stroke: #333; stroke-width: 3.5px;fill:none'; + break; + } + + + } // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: style, arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -13179,7 +13197,7 @@ exports.addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{labelType: "html",style: "stroke: #333; stroke-width: 1.5px;fill:none", labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{labelType: "html",style: style, labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { labelType: "html",style: style, arrowheadStyle: "fill: #333", label: edge.text, arrowhead: aHead @@ -13437,6 +13455,7 @@ exports.addLink = function (start, end, type, linktext) { if (typeof type !== 'undefined') { edge.type = type.type; + edge.stroke = type.stroke; } edges.push(edge); }; @@ -14421,12 +14440,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14442,7 +14461,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 50: case 52: case 65: case 67: case 78: +case 4: case 5: case 49: case 51: case 76: case 78: case 89: this.$=$$[$0]; break; case 8: @@ -14493,7 +14512,7 @@ break; case 42: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 43: case 47: +case 43: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 44: @@ -14505,76 +14524,100 @@ break; case 46: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 48: +case 47: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 49: +case 48: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 51: case 66: case 68: case 79: +case 50: case 77: case 79: case 90: this.$=$$[$0-1]+''+$$[$0]; break; -case 53: +case 52: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 54: +case 53: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 55: +case 54: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 56: +case 55: this.$ = $$[$0]; break; -case 57: case 64: +case 56: case 75: this.$ = $$[$0-1]; break; -case 58: +case 57: case 59: case 61: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 59: +case 58: case 60: case 62: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 60: -this.$ = {"type":"arrow"}; -break; -case 61: -this.$ = {"type":"arrow_circle"}; -break; -case 62: -this.$ = {"type":"arrow_cross"}; -break; case 63: -this.$ = {"type":"arrow_open"}; +this.$ = {"type":"arrow","stroke":"normal"}; break; -case 80: +case 64: +this.$ = {"type":"arrow_circle","stroke":"normal"}; +break; +case 65: +this.$ = {"type":"arrow_cross","stroke":"normal"}; +break; +case 66: +this.$ = {"type":"arrow_open","stroke":"normal"}; +break; +case 67: +this.$ = {"type":"arrow","stroke":"dotted"}; +break; +case 68: +this.$ = {"type":"arrow_circle","stroke":"dotted"}; +break; +case 69: +this.$ = {"type":"arrow_cross","stroke":"dotted"}; +break; +case 70: +this.$ = {"type":"arrow_open","stroke":"dotted"}; +break; +case 71: +this.$ = {"type":"arrow","stroke":"thick"}; +break; +case 72: +this.$ = {"type":"arrow_circle","stroke":"thick"}; +break; +case 73: +this.$ = {"type":"arrow_cross","stroke":"thick"}; +break; +case 74: +this.$ = {"type":"arrow_open","stroke":"thick"}; +break; +case 91: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 81: +case 92: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 82: +case 93: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 83: +case 94: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 84: case 85: +case 95: case 96: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 87: +case 98: this.$ = [$$[$0]] break; -case 88: +case 99: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 90: +case 101: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], -defaultActions: {147:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], +defaultActions: {159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15048,15 +15091,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 57; +case 0:return 67; break; -case 1:return 58; +case 1:return 68; break; -case 2:return 59; +case 2:return 69; break; -case 3:return 60; +case 3:return 70; break; -case 4:return 61; +case 4:return 71; break; case 5:return 11; break; @@ -15076,76 +15119,104 @@ case 12:return 13; break; case 13:return 13; break; -case 14:return 66; +case 14:return 76; break; -case 15:return 74; +case 15:return 84; break; -case 16:return 72; +case 16:return 82; break; case 17:return 9; break; -case 18:return 69; +case 18:return 79; break; -case 19:return 78; +case 19:return 89; break; -case 20:return 79; +case 20:return 16; break; -case 21:return 75; +case 21:return 15; break; -case 22:return 16; +case 22:return 17; break; -case 23:return 15; +case 23:return 18; break; -case 24:return 17; +case 24:return 52; break; -case 25:return 18; +case 25:return 50; break; -case 26:return 50; +case 26:return 51; break; -case 27:return 48; +case 27:return 53; break; -case 28:return 49; +case 28:return 56; break; -case 29:return 51; +case 29:return 54; break; -case 30:return 47; +case 30:return 55; break; -case 31:return 44; +case 31:return 57; break; -case 32:return 77; +case 32:return 56; break; -case 33:return 67; +case 33:return 54; break; -case 34:return 78; +case 34:return 55; break; -case 35:return 71; +case 35:return 57; break; -case 36:return 52; +case 36:return 60; break; -case 37:return 38; +case 37:return 58; break; -case 38:return 39; +case 38:return 59; break; -case 39:return 35; +case 39:return 61; break; -case 40:return 37; +case 40:return 47; break; -case 41:return 40 +case 41:return 48; break; -case 42:return 41 +case 42:return 49; break; -case 43:return 82; +case 43:return 44; break; -case 44:return 19; +case 44:return 85; break; -case 45:return 12; +case 45:return 87; break; -case 46:return 10; +case 46:return 77; +break; +case 47:return 88; +break; +case 48:return 88; +break; +case 49:return 81; +break; +case 50:return 62; +break; +case 51:return 38; +break; +case 52:return 39; +break; +case 53:return 35; +break; +case 54:return 37; +break; +case 55:return 40 +break; +case 56:return 41 +break; +case 57:return 92; +break; +case 58:return 19; +break; +case 59:return 12; +break; +case 60:return 10; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43,44,45,46],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],"inclusive":true}} }); return lexer; })(); diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 58dffee53..18a649b41 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ -!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},I,v(r,q),A.pick(r,O))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,R),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var q=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},O=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 +!function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},R,v(r,O),A.pick(r,I))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,q),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var O=["nodesep","edgesep","ranksep","marginx","marginy"],R={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},I=["acyclicer","ranker","rankdir","align"],q=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var q in N)_(N,q)&&(i[q]=N[q]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Kt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(It(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&It(e)?u:t.createCallback(r,n,3),Kt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Ir(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function Rr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=On(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=On(g,y))}return m&&s?s=Tn(s):s||t===h||(s=On(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return On(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return On(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return qn.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Zr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Kr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Kt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];In.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(q,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+O++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!Z[typeof e])return n;for(t in r)qn.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,q=/['\n\r\t\u2028\u2029\\]/g,I=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],O=0,R="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[R]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},K={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=Z[typeof window]&&window||this,J=Z[typeof r]&&r&&!r.nodeType&&r,Q=Z[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=Z[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";"undefined"!=typeof e.style&&e.style.forEach(function(e){i=i+e+";"}),"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:"stroke: #333; stroke-width: 1.5px;fill:none",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:"stroke: #333; stroke-width: 1.5px;fill:none",labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],q=[1,69],I=[1,70],O=[1,71],R=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:q,53:I,54:O,55:R,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],D=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,63],L=[1,64],N=[1,65],q=[1,66],I=[9,10,19,47,48,49,50,51],O=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],R=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],P=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],M=[1,81],j=[1,84],V=[1,82],U=[1,91],G=[1,90],$=[1,113],H=[1,123],Y=[1,115],z=[1,124],W=[1,98],Z=[1,97],K=[1,125],X=[1,126],J=[1,102],Q=[1,103],et=[1,100],tt=[1,101],rt=[1,104],nt=[1,105],it=[1,116],at=[1,109],ut=[1,110],ot=[1,108],st=[1,111],ct=[1,99],lt=[1,118],ht=[1,119],dt=[1,120],pt=[1,121],ft=[1,122],gt=[1,106],yt=[1,107],mt=[1,112],vt=[66,69,71,72,74,75,77,78,79],bt=[12,52,66,69,71,72,74,75,77,78,79],At=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],Et=[2,106],xt=[2,108],wt=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],_t=[1,177],Dt=[1,174],kt=[1,181],Ct=[1,178],Ft=[1,175],Bt=[1,182],Tt=[1,172],St=[1,173],Lt=[1,176],Nt=[1,179],qt=[1,180],It=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],Ot=[2,47],Rt=[1,194],Pt=[9,10,19,69],Mt=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75],jt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,ARROW_POINT:48,ARROW_CIRCLE:49,ARROW_CROSS:50,ARROW_OPEN:51,PIPE:52,textToken:53,commentText:54,commentToken:55,keywords:56,STYLE:57,LINKSTYLE:58,CLASSDEF:59,CLASS:60,CLICK:61,textNoTags:62,textNoTagsToken:63,stylesOpt:64,HEX:65,NUM:66,PCT:67,style:68,COMMA:69,styleComponent:70,ALPHA:71,COLON:72,UNIT:73,BRKT:74,DOT:75,graphCodeTokens:76,PLUS:77,EQUALS:78,MULT:79,TAG_START:80,TAG_END:81,QUOTE:82,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 65:case 67:case 78:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:case 47:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 66:case 68:case 79:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 64:this.$=a[u-1];break;case 58:a[u].text=a[u-2],this.$=a[u];break;case 59:a[u-1].text=a[u-3],this.$=a[u-1];break;case 60:this.$={type:"arrow"};break;case 61:this.$={type:"arrow_circle"};break;case 62:this.$={type:"arrow_cross"};break;case 63:this.$={type:"arrow_open"};break;case 80:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 81:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 82:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]); -break;case 83:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 84:case 85:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 87:this.$=[a[u]];break;case 88:a[u-2].push(a[u]),this.$=a[u-2];break;case 90:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],n,{5:58}),{67:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:S,49:L,50:N,51:q}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},t(I,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),t(O,[2,50],{42:29,43:30,34:78,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w}),t(R,[2,52],{44:[1,79]}),t(P,[2,111]),t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t(P,[2,116]),t(P,[2,117]),t(P,[2,118]),t(P,[2,119]),{9:M,12:j,14:80,19:V,20:83},{9:M,12:j,14:85,19:V,20:83},{9:M,12:j,14:86,19:V,20:83},{9:M,12:j,14:87,19:V,20:83},{9:M,12:j,14:88,19:V,20:83},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:U,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:89,31:G,32:22,34:28,42:29,43:30,57:c,58:l,59:h,60:d,61:p,66:f,67:g,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{9:$,11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,54:92,55:93,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},{32:127,34:28,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(vt,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},t(bt,[2,60]),t(bt,[2,61]),t(bt,[2,62]),t(bt,[2,63]),{34:132,42:29,43:30,65:[1,133],66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{66:[1,134]},{34:135,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:136,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:137,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:138,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:141,38:[1,140],43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:142,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:143,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:144,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,49]),t(O,[2,51]),{43:145,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,146]},{12:j,19:[2,21],20:147},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:148},t(T,[2,30]),t(D,k,{7:46,30:149,12:U,19:o,31:G}),{9:$,11:H,12:Y,13:z,15:W,16:Z,19:[2,86],29:K,31:X,35:J,37:Q,38:et,39:tt,40:rt,41:nt,43:114,44:it,48:at,49:ut,50:ot,51:st,52:ct,53:94,55:150,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,76:95,77:E,78:x,79:w,80:gt,81:yt,82:mt},t(At,[2,67]),t(At,[2,102]),t(At,[2,103]),t(At,[2,104]),t(At,[2,105]),t(At,Et),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,125]),t(At,[2,126]),t(At,[2,127]),t(At,[2,128]),t(At,[2,129]),t(At,[2,130]),t(At,[2,131]),t(At,[2,132]),t(At,[2,133]),t(At,[2,134]),t(At,[2,107]),t(At,xt),t(At,[2,109]),t(At,[2,110]),t(At,[2,69]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(T,[2,35]),t(vt,[2,54],{12:[1,151]}),t(vt,[2,57]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:152,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:153,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,160],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(wt,[2,65]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,36:162,43:114,44:it,53:139,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,163],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,41:[1,164],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,37:[1,165],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:Y,13:z,15:[1,166],16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(R,[2,53]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(At,[2,68]),t(vt,[2,55]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,43:114,44:it,52:[1,167],53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{11:H,12:[1,168],13:z,15:W,16:Z,29:K,31:X,43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{12:_t,44:Dt,57:kt,64:169,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:183,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:184,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{12:_t,44:Dt,57:kt,64:185,65:Ct,66:Ft,67:Bt,68:170,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},{34:186,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},{34:187,42:29,43:30,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,37],{12:[1,188]}),t(wt,[2,66]),{11:H,12:Y,13:z,15:W,16:Z,29:K,31:X,39:[1,189],43:114,44:it,53:161,56:117,57:lt,58:ht,59:dt,60:pt,61:ft,63:96,66:f,69:y,71:m,72:v,74:b,75:A,77:E,78:x,79:w},t(I,[2,41],{12:[1,190]}),t(I,[2,43],{12:[1,191]}),t(I,[2,45],{12:[1,192]}),t(It,Et,{9:Ot,10:Ot,19:Ot,47:Ot,48:Ot,49:Ot,50:Ot,51:Ot}),t([12,66,69,71,72,74,75,77,78,79],[2,64]),t(It,xt,{45:193,48:S,49:L,50:N,51:q}),t(T,[2,83],{69:Rt}),t(Pt,[2,87],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(Mt,[2,89]),t(Mt,[2,91]),t(Mt,[2,92]),t(Mt,[2,93]),t(Mt,[2,94]),t(Mt,[2,95]),t(Mt,[2,96]),t(Mt,[2,97]),t(Mt,[2,98]),t(Mt,[2,99]),t(Mt,[2,100]),t(Mt,[2,101]),t(T,[2,84],{69:Rt}),t(T,[2,85],{69:Rt}),t(T,[2,80],{69:Rt}),t(T,[2,81]),t(T,[2,82]),t(I,[2,38]),{39:[1,196]},t(I,[2,42]),t(I,[2,44]),t(I,[2,46]),t(vt,[2,58],{12:[1,197]}),{12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,68:198,70:171,71:Tt,72:St,73:Lt,74:Nt,75:qt},t(Mt,[2,90]),t(I,[2,39],{12:[1,199]}),t(vt,[2,59]),t(Pt,[2,88],{70:195,12:_t,44:Dt,57:kt,65:Ct,66:Ft,67:Bt,71:Tt,72:St,73:Lt,74:Nt,75:qt}),t(I,[2,40])],defaultActions:{147:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Vt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 57;case 1:return 58;case 2:return 59;case 3:return 60;case 4:return 61;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 66;case 15:return 74;case 16:return 72;case 17:return 9;case 18:return 69;case 19:return 78;case 20:return 79;case 21:return 75;case 22:return 16;case 23:return 15;case 24:return 17;case 25:return 18;case 26:return 50;case 27:return 48;case 28:return 49;case 29:return 51;case 30:return 47;case 31:return 44;case 32:return 77;case 33:return 67;case 34:return 78;case 35:return 71;case 36:return 52;case 37:return 38;case 38:return 39;case 39:return 35;case 40:return 37;case 41:return 40;case 42:return 41;case 43:return 82;case 44:return 19;case 45:return 12;case 46:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46],inclusive:!0}}};return e}();return jt.lexer=Vt,e.prototype=jt,jt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e; -if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,65],L=[1,66],N=[1,67],O=[1,68],R=[1,69],I=[1,70],q=[1,71],P=[1,72],M=[1,73],j=[1,74],V=[1,75],U=[1,76],G=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],H=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Y=[1,90],z=[1,93],W=[1,91],K=[1,100],Z=[1,99],X=[1,124],J=[1,134],Q=[1,126],et=[1,135],tt=[1,107],rt=[1,106],nt=[1,136],it=[1,137],at=[1,113],ut=[1,114],ot=[1,111],st=[1,112],ct=[1,115],lt=[1,116],ht=[1,127],dt=[1,109],pt=[1,108],ft=[1,120],gt=[1,121],yt=[1,119],mt=[1,122],vt=[1,110],bt=[1,129],At=[1,130],Et=[1,131],xt=[1,132],wt=[1,133],_t=[1,117],Dt=[1,118],kt=[1,123],Ct=[76,79,81,82,84,85,87,88,89],Ft=[12,62,76,79,81,82,84,85,87,88,89],Bt=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Tt=[2,121],St=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Lt=[1,192],Nt=[1,189],Ot=[1,196],Rt=[1,193],It=[1,190],qt=[1,197],Pt=[1,187],Mt=[1,188],jt=[1,191],Vt=[1,194],Ut=[1,195],Gt=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$t=[1,211],Ht=[9,10,19,79],Yt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],zt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 49:case 51:case 76:case 78:case 89:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd"); +break;case 47:this.$=a[u],n.addVertex(a[u]);break;case 48:this.$=a[u-1],n.addVertex(a[u-1]);break;case 50:case 77:case 79:case 90:this.$=a[u-1]+""+a[u];break;case 52:this.$=a[u-2]+"-"+a[u];break;case 53:a[u-1].text=a[u],this.$=a[u-1];break;case 54:a[u-2].text=a[u-1],this.$=a[u-2];break;case 55:this.$=a[u];break;case 56:case 75:this.$=a[u-1];break;case 57:case 59:case 61:a[u].text=a[u-2],this.$=a[u];break;case 58:case 60:case 62:a[u-1].text=a[u-3],this.$=a[u-1];break;case 63:this.$={type:"arrow",stroke:"normal"};break;case 64:this.$={type:"arrow_circle",stroke:"normal"};break;case 65:this.$={type:"arrow_cross",stroke:"normal"};break;case 66:this.$={type:"arrow_open",stroke:"normal"};break;case 67:this.$={type:"arrow",stroke:"dotted"};break;case 68:this.$={type:"arrow_circle",stroke:"dotted"};break;case 69:this.$={type:"arrow_cross",stroke:"dotted"};break;case 70:this.$={type:"arrow_open",stroke:"dotted"};break;case 71:this.$={type:"arrow",stroke:"thick"};break;case 72:this.$={type:"arrow_circle",stroke:"thick"};break;case 73:this.$={type:"arrow_cross",stroke:"thick"};break;case 74:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 92:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 95:case 96:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 98:this.$=[a[u]];break;case 99:a[u-2].push(a[u]),this.$=a[u-2];break;case 101:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n,{5:58}),{77:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},t(G,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t($,[2,49]),t($,[2,51],{44:[1,88]}),t(H,[2,124]),t(H,[2,125]),t(H,[2,126]),t(H,[2,127]),t(H,[2,128]),t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),{9:Y,12:z,14:89,19:W,20:92},{9:Y,12:z,14:94,19:W,20:92},{9:Y,12:z,14:95,19:W,20:92},{9:Y,12:z,14:96,19:W,20:92},{9:Y,12:z,14:97,19:W,20:92},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:K,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:98,31:Z,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:X,11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,64:101,65:102,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},{32:138,34:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Ct,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},t(Ft,[2,63]),t(Ft,[2,64]),t(Ft,[2,65]),t(Ft,[2,66]),t(Ft,[2,67]),t(Ft,[2,68]),t(Ft,[2,69]),t(Ft,[2,70]),t(Ft,[2,71]),t(Ft,[2,72]),t(Ft,[2,73]),t(Ft,[2,74]),{34:145,42:29,43:30,75:[1,146],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,147]},{34:148,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:149,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:151,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:154,38:[1,153],43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:155,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:156,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,48]),t($,[2,50]),{43:157,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,158]},{12:z,19:[2,21],20:159},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:160},t(T,[2,30]),t(D,k,{7:46,30:161,12:K,19:o,31:Z}),{9:X,11:J,12:Q,13:et,15:tt,16:rt,19:[2,97],29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,65:162,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},t(Bt,[2,78]),t(Bt,[2,113]),t(Bt,[2,114]),t(Bt,[2,115]),t(Bt,[2,116]),t(Bt,[2,117]),t(Bt,[2,118]),t(Bt,[2,119]),t(Bt,[2,133]),t(Bt,[2,134]),t(Bt,[2,135]),t(Bt,[2,136]),t(Bt,[2,137]),t(Bt,[2,138]),t(Bt,[2,139]),t(Bt,[2,140]),t(Bt,[2,141]),t(Bt,[2,142]),t(Bt,[2,143]),t(Bt,[2,144]),t(Bt,[2,145]),t(Bt,[2,146]),t(Bt,[2,147]),t(Bt,[2,120]),t(Bt,Tt),t(Bt,[2,122]),t(Bt,[2,123]),t(Bt,[2,80]),t(Bt,[2,81]),t(Bt,[2,82]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(T,[2,35]),t(Ct,[2,53],{12:[1,163]}),t(Ct,[2,56]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:164,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:165,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:166,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:167,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,168],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,173],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,174],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(St,[2,76]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:176,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,177],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,41:[1,178],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,179],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t($,[2,52]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(Bt,[2,79]),t(Ct,[2,54]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,62:[1,180],63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,181],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,182],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,183],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Lt,44:Nt,67:Ot,74:184,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:198,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:199,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:200,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{34:201,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:202,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,37],{12:[1,203]}),t(St,[2,77]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,204],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,41],{12:[1,205]}),t(G,[2,43],{12:[1,206]}),t(G,[2,45],{12:[1,207]}),t([12,76,79,81,82,84,85,87,88,89],[2,75]),t(Gt,Tt,{45:208,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:209,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:210,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(T,[2,94],{79:$t}),t(Ht,[2,98],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(Yt,[2,100]),t(Yt,[2,102]),t(Yt,[2,103]),t(Yt,[2,104]),t(Yt,[2,105]),t(Yt,[2,106]),t(Yt,[2,107]),t(Yt,[2,108]),t(Yt,[2,109]),t(Yt,[2,110]),t(Yt,[2,111]),t(Yt,[2,112]),t(T,[2,95],{79:$t}),t(T,[2,96],{79:$t}),t(T,[2,91],{79:$t}),t(T,[2,92],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(T,[2,93],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(G,[2,38]),{39:[1,213]},t(G,[2,42]),t(G,[2,44]),t(G,[2,46]),t(Ct,[2,57],{12:[1,214]}),t(Ct,[2,59],{12:[1,215]}),t(Ct,[2,61],{12:[1,216]}),{12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,78:217,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},t(Yt,[2,101]),t(G,[2,39],{12:[1,218]}),t(Ct,[2,58]),t(Ct,[2,60]),t(Ct,[2,62]),t(Ht,[2,99],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(G,[2,40])],defaultActions:{159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Wt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 35;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return zt.lexer=Wt,e.prototype=zt,zt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e +},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 835eede02..8e6234084 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -109,16 +109,34 @@ exports.addEdges = function (edges, g) { } var style = ''; + + + if(typeof edge.style !== 'undefined'){ edge.style.forEach(function(s){ style = style + s +';'; }); } + else{ + switch(edge.stroke){ + case 'normal': + style = 'stroke: #333; stroke-width: 1.5px;fill:none'; + break; + case 'dotted': + style = 'stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;'; + break; + case 'thick': + style = 'stroke: #333; stroke-width: 3.5px;fill:none'; + break; + } + + + } // Add the edge to the graph if (typeof edge.text === 'undefined') { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{ style: "stroke: #333; stroke-width: 1.5px;fill:none", arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{ style: style, arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { style: style, arrowheadStyle: "fill: #333", arrowhead: aHead @@ -129,7 +147,7 @@ exports.addEdges = function (edges, g) { else { if(typeof edge.style === 'undefined'){ - g.setEdge(edge.start, edge.end,{labelType: "html",style: "stroke: #333; stroke-width: 1.5px;fill:none", labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); + g.setEdge(edge.start, edge.end,{labelType: "html",style: style, labelpos:'c', label: ''+edge.text+'', arrowheadStyle: "fill: #333", arrowhead: aHead},cnt); }else{ g.setEdge(edge.start, edge.end, { labelType: "html",style: style, arrowheadStyle: "fill: #333", label: edge.text, arrowhead: aHead diff --git a/src/diagrams/flowchart/graphDb.js b/src/diagrams/flowchart/graphDb.js index f2f94657e..5141f3c6c 100644 --- a/src/diagrams/flowchart/graphDb.js +++ b/src/diagrams/flowchart/graphDb.js @@ -64,6 +64,7 @@ exports.addLink = function (start, end, type, linktext) { if (typeof type !== 'undefined') { edge.type = type.type; + edge.stroke = type.stroke; } edges.push(edge); }; diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index acf9bad44..96ff027e6 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -18,14 +18,12 @@ "BT" return 'DIR'; "TD" return 'DIR'; "BR" return 'DIR'; -[0-9] return 'NUM'; +[0-9]+ return 'NUM'; \# return 'BRKT'; ":" return 'COLON'; ";" return 'SEMI'; "," return 'COMMA'; -"=" return 'EQUALS'; "*" return 'MULT'; -"." return 'DOT'; "<" return 'TAGSTART'; ">" return 'TAGEND'; "^" return 'UP'; @@ -34,10 +32,26 @@ \-\-\> return 'ARROW_POINT'; \-\-[o] return 'ARROW_CIRCLE'; \-\-\- return 'ARROW_OPEN'; +\-\.\-[x] return 'DOTTED_ARROW_CROSS'; +\-\.\-\> return 'DOTTED_ARROW_POINT'; +\-\.\-[o] return 'DOTTED_ARROW_CIRCLE'; +\-\.\- return 'DOTTED_ARROW_OPEN'; +.\-[x] return 'DOTTED_ARROW_CROSS'; +\.\-\> return 'DOTTED_ARROW_POINT'; +\.\-[o] return 'DOTTED_ARROW_CIRCLE'; +\.\- return 'DOTTED_ARROW_OPEN'; +\=\=[x] return 'THICK_ARROW_CROSS'; +\=\=\> return 'THICK_ARROW_POINT'; +\=\=[o] return 'THICK_ARROW_CIRCLE'; +\=\=[\=] return 'THICK_ARROW_OPEN'; \-\- return '--'; +\-\. return '-.'; +\=\= return '=='; \- return 'MINUS'; +"." return 'DOT'; \+ return 'PLUS'; \% return 'PCT'; +"=" return 'EQUALS'; \= return 'EQUALS'; [\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| [\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| @@ -227,8 +241,6 @@ vertex: alphaNum SQS text SQE {$$ = $1;yy.addVertex($1,$3,'odd');} | alphaNum TAGEND text SQE SPACE {$$ = $1;yy.addVertex($1,$3,'odd');} - | alphaNum TAGSTART text TAGEND - {$$ = $1;yy.addVertex($1,$3,'diamond');} | alphaNum {$$ = $1;yy.addVertex($1);} | alphaNum SPACE @@ -238,7 +250,7 @@ vertex: alphaNum SQS text SQE alphaNum : alphaNumStatement {$$=$1;} - | alphaNumStatement alphaNum + | alphaNum alphaNumStatement {$$=$1+''+$2;} ; @@ -262,17 +274,41 @@ link: linkStatement arrowText {$5.text = $3;$$ = $5;} | '--' SPACE text SPACE linkStatement SPACE {$5.text = $3;$$ = $5;} + | '-.' SPACE text SPACE linkStatement + {$5.text = $3;$$ = $5;} + | '-.' SPACE text SPACE linkStatement SPACE + {$5.text = $3;$$ = $5;} + | '==' SPACE text SPACE linkStatement + {$5.text = $3;$$ = $5;} + | '==' SPACE text SPACE linkStatement SPACE + {$5.text = $3;$$ = $5;} ; linkStatement: ARROW_POINT - {$$ = {"type":"arrow"};} + {$$ = {"type":"arrow","stroke":"normal"};} | ARROW_CIRCLE - {$$ = {"type":"arrow_circle"};} + {$$ = {"type":"arrow_circle","stroke":"normal"};} | ARROW_CROSS - {$$ = {"type":"arrow_cross"};} + {$$ = {"type":"arrow_cross","stroke":"normal"};} | ARROW_OPEN - {$$ = {"type":"arrow_open"};} - ; + {$$ = {"type":"arrow_open","stroke":"normal"};} + | DOTTED_ARROW_POINT + {$$ = {"type":"arrow","stroke":"dotted"};} + | DOTTED_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"dotted"};} + | DOTTED_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"dotted"};} + | DOTTED_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"dotted"};} + | THICK_ARROW_POINT + {$$ = {"type":"arrow","stroke":"thick"};} + | THICK_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"thick"};} + | THICK_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"thick"};} + | THICK_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"thick"};} + ; arrowText: PIPE text PIPE @@ -347,7 +383,7 @@ styleComponent: ALPHA | COLON | MINUS | NUM | UNIT | SPACE | HEX | BRKT | DOT | commentToken : textToken | graphCodeTokens ; -textToken : textNoTagsToken | TAGSTART | TAGEND ; +textToken : textNoTagsToken | TAGSTART | TAGEND | '==' | '--' ; textNoTagsToken: alphaNumToken | SPACE | MINUS | keywords ; diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index 440fd5846..dc25ac3f7 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vn=[29,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,63],$Vu=[1,64],$Vv=[1,65],$Vw=[1,66],$Vx=[9,10,19,47,48,49,50,51],$Vy=[9,10,12,15,16,19,35,38,40,47,48,49,50,51],$Vz=[9,10,12,15,16,19,35,38,40,47,48,49,50,51,66,69,71,72,74,75,77,78,79],$VA=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$VB=[1,81],$VC=[1,84],$VD=[1,82],$VE=[1,91],$VF=[1,90],$VG=[1,113],$VH=[1,123],$VI=[1,115],$VJ=[1,124],$VK=[1,98],$VL=[1,97],$VM=[1,125],$VN=[1,126],$VO=[1,102],$VP=[1,103],$VQ=[1,100],$VR=[1,101],$VS=[1,104],$VT=[1,105],$VU=[1,116],$VV=[1,109],$VW=[1,110],$VX=[1,108],$VY=[1,111],$VZ=[1,99],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,121],$V21=[1,122],$V31=[1,106],$V41=[1,107],$V51=[1,112],$V61=[66,69,71,72,74,75,77,78,79],$V71=[12,52,66,69,71,72,74,75,77,78,79],$V81=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,48,49,50,51,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79,80,81,82],$V91=[2,106],$Va1=[2,108],$Vb1=[11,12,13,15,16,29,31,37,39,41,44,52,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vc1=[1,177],$Vd1=[1,174],$Ve1=[1,181],$Vf1=[1,178],$Vg1=[1,175],$Vh1=[1,182],$Vi1=[1,172],$Vj1=[1,173],$Vk1=[1,176],$Vl1=[1,179],$Vm1=[1,180],$Vn1=[11,12,13,15,16,29,31,44,57,58,59,60,61,66,69,71,72,74,75,77,78,79],$Vo1=[2,47],$Vp1=[1,194],$Vq1=[9,10,19,69],$Vr1=[9,10,12,19,44,57,65,66,67,69,71,72,73,74,75]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"ARROW_POINT":48,"ARROW_CIRCLE":49,"ARROW_CROSS":50,"ARROW_OPEN":51,"PIPE":52,"textToken":53,"commentText":54,"commentToken":55,"keywords":56,"STYLE":57,"LINKSTYLE":58,"CLASSDEF":59,"CLASS":60,"CLICK":61,"textNoTags":62,"textNoTagsToken":63,"stylesOpt":64,"HEX":65,"NUM":66,"PCT":67,"style":68,"COMMA":69,"styleComponent":70,"ALPHA":71,"COLON":72,"UNIT":73,"BRKT":74,"DOT":75,"graphCodeTokens":76,"PLUS":77,"EQUALS":78,"MULT":79,"TAG_START":80,"TAG_END":81,"QUOTE":82,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"ARROW_POINT",49:"ARROW_CIRCLE",50:"ARROW_CROSS",51:"ARROW_OPEN",52:"PIPE",57:"STYLE",58:"LINKSTYLE",59:"CLASSDEF",60:"CLASS",61:"CLICK",65:"HEX",66:"NUM",67:"PCT",69:"COMMA",71:"ALPHA",72:"COLON",73:"UNIT",74:"BRKT",75:"DOT",77:"PLUS",78:"EQUALS",79:"MULT",80:"TAG_START",81:"TAG_END",82:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,4],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[54,1],[54,2],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[62,1],[62,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[64,1],[64,3],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[55,1],[55,1],[53,1],[53,1],[53,1],[63,1],[63,1],[63,1],[63,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -93,7 +93,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 50: case 52: case 65: case 67: case 78: +case 4: case 5: case 49: case 51: case 76: case 78: case 89: this.$=$$[$0]; break; case 8: @@ -144,7 +144,7 @@ break; case 42: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; -case 43: case 47: +case 43: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 44: @@ -156,76 +156,100 @@ break; case 46: this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; -case 48: +case 47: this.$ = $$[$0];yy.addVertex($$[$0]); break; -case 49: +case 48: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 51: case 66: case 68: case 79: +case 50: case 77: case 79: case 90: this.$=$$[$0-1]+''+$$[$0]; break; -case 53: +case 52: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 54: +case 53: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 55: +case 54: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 56: +case 55: this.$ = $$[$0]; break; -case 57: case 64: +case 56: case 75: this.$ = $$[$0-1]; break; -case 58: +case 57: case 59: case 61: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 59: +case 58: case 60: case 62: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 60: -this.$ = {"type":"arrow"}; -break; -case 61: -this.$ = {"type":"arrow_circle"}; -break; -case 62: -this.$ = {"type":"arrow_cross"}; -break; case 63: -this.$ = {"type":"arrow_open"}; +this.$ = {"type":"arrow","stroke":"normal"}; break; -case 80: +case 64: +this.$ = {"type":"arrow_circle","stroke":"normal"}; +break; +case 65: +this.$ = {"type":"arrow_cross","stroke":"normal"}; +break; +case 66: +this.$ = {"type":"arrow_open","stroke":"normal"}; +break; +case 67: +this.$ = {"type":"arrow","stroke":"dotted"}; +break; +case 68: +this.$ = {"type":"arrow_circle","stroke":"dotted"}; +break; +case 69: +this.$ = {"type":"arrow_cross","stroke":"dotted"}; +break; +case 70: +this.$ = {"type":"arrow_open","stroke":"dotted"}; +break; +case 71: +this.$ = {"type":"arrow","stroke":"thick"}; +break; +case 72: +this.$ = {"type":"arrow_circle","stroke":"thick"}; +break; +case 73: +this.$ = {"type":"arrow_cross","stroke":"thick"}; +break; +case 74: +this.$ = {"type":"arrow_open","stroke":"thick"}; +break; +case 91: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 81: +case 92: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 82: +case 93: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 83: +case 94: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 84: case 85: +case 95: case 96: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 87: +case 98: this.$ = [$$[$0]] break; -case 88: +case 99: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 90: +case 101: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,57,58,59,60,61,66,67,69,71,72,74,75,77,78,79],$V1,{5:58}),{67:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:$Vt,49:$Vu,50:$Vv,51:$Vw}),{12:[1,67]},{12:[1,68]},{12:[1,69]},{12:[1,70]},{12:[1,71]},o($Vx,[2,48],{12:[1,77],15:[1,75],16:[1,76],35:[1,72],38:[1,73],40:[1,74]}),o($Vy,[2,50],{42:29,43:30,34:78,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl}),o($Vz,[2,52],{44:[1,79]}),o($VA,[2,111]),o($VA,[2,112]),o($VA,[2,113]),o($VA,[2,114]),o($VA,[2,115]),o($VA,[2,116]),o($VA,[2,117]),o($VA,[2,118]),o($VA,[2,119]),{9:$VB,12:$VC,14:80,19:$VD,20:83},{9:$VB,12:$VC,14:85,19:$VD,20:83},{9:$VB,12:$VC,14:86,19:$VD,20:83},{9:$VB,12:$VC,14:87,19:$VD,20:83},{9:$VB,12:$VC,14:88,19:$VD,20:83},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VE,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:89,31:$VF,32:22,34:28,42:29,43:30,57:$V7,58:$V8,59:$V9,60:$Va,61:$Vb,66:$Vc,67:$Vd,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,54:92,55:93,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},{32:127,34:28,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V61,[2,56],{46:128,12:[1,129],52:[1,130]}),{12:[1,131]},o($V71,[2,60]),o($V71,[2,61]),o($V71,[2,62]),o($V71,[2,63]),{34:132,42:29,43:30,65:[1,133],66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{66:[1,134]},{34:135,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:136,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:137,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:138,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:141,38:[1,140],43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:142,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:143,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:144,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,49]),o($Vy,[2,51]),{43:145,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,146]},{12:$VC,19:[2,21],20:147},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:148},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:149,12:$VE,19:$V5,31:$VF}),{9:$VG,11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,19:[2,86],29:$VM,31:$VN,35:$VO,37:$VP,38:$VQ,39:$VR,40:$VS,41:$VT,43:114,44:$VU,48:$VV,49:$VW,50:$VX,51:$VY,52:$VZ,53:94,55:150,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,76:95,77:$Vj,78:$Vk,79:$Vl,80:$V31,81:$V41,82:$V51},o($V81,[2,67]),o($V81,[2,102]),o($V81,[2,103]),o($V81,[2,104]),o($V81,[2,105]),o($V81,$V91),o($V81,[2,120]),o($V81,[2,121]),o($V81,[2,122]),o($V81,[2,123]),o($V81,[2,124]),o($V81,[2,125]),o($V81,[2,126]),o($V81,[2,127]),o($V81,[2,128]),o($V81,[2,129]),o($V81,[2,130]),o($V81,[2,131]),o($V81,[2,132]),o($V81,[2,133]),o($V81,[2,134]),o($V81,[2,107]),o($V81,$Va1),o($V81,[2,109]),o($V81,[2,110]),o($V81,[2,69]),o($V81,[2,70]),o($V81,[2,71]),o($V81,[2,72]),o($V81,[2,73]),o($V81,[2,74]),o($V81,[2,75]),o($V81,[2,76]),o($V81,[2,77]),o($Vs,[2,35]),o($V61,[2,54],{12:[1,151]}),o($V61,[2,57]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:152,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:153,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:[1,154]},{12:[1,155]},{12:[1,156]},{12:[1,157]},{12:[1,158]},{12:[1,159]},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,160],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vb1,[2,65]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,36:162,43:114,44:$VU,53:139,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,163],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,41:[1,164],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,37:[1,165],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:$VI,13:$VJ,15:[1,166],16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vz,[2,53]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($V81,[2,68]),o($V61,[2,55]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,52:[1,167],53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{11:$VH,12:[1,168],13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{12:$Vc1,44:$Vd1,57:$Ve1,64:169,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:183,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:184,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{12:$Vc1,44:$Vd1,57:$Ve1,64:185,65:$Vf1,66:$Vg1,67:$Vh1,68:170,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},{34:186,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},{34:187,42:29,43:30,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,37],{12:[1,188]}),o($Vb1,[2,66]),{11:$VH,12:$VI,13:$VJ,15:$VK,16:$VL,29:$VM,31:$VN,39:[1,189],43:114,44:$VU,53:161,56:117,57:$V_,58:$V$,59:$V01,60:$V11,61:$V21,63:96,66:$Vc,69:$Ve,71:$Vf,72:$Vg,74:$Vh,75:$Vi,77:$Vj,78:$Vk,79:$Vl},o($Vx,[2,41],{12:[1,190]}),o($Vx,[2,43],{12:[1,191]}),o($Vx,[2,45],{12:[1,192]}),o($Vn1,$V91,{9:$Vo1,10:$Vo1,19:$Vo1,47:$Vo1,48:$Vo1,49:$Vo1,50:$Vo1,51:$Vo1}),o([12,66,69,71,72,74,75,77,78,79],[2,64]),o($Vn1,$Va1,{45:193,48:$Vt,49:$Vu,50:$Vv,51:$Vw}),o($Vs,[2,83],{69:$Vp1}),o($Vq1,[2,87],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vr1,[2,89]),o($Vr1,[2,91]),o($Vr1,[2,92]),o($Vr1,[2,93]),o($Vr1,[2,94]),o($Vr1,[2,95]),o($Vr1,[2,96]),o($Vr1,[2,97]),o($Vr1,[2,98]),o($Vr1,[2,99]),o($Vr1,[2,100]),o($Vr1,[2,101]),o($Vs,[2,84],{69:$Vp1}),o($Vs,[2,85],{69:$Vp1}),o($Vs,[2,80],{69:$Vp1}),o($Vs,[2,81]),o($Vs,[2,82]),o($Vx,[2,38]),{39:[1,196]},o($Vx,[2,42]),o($Vx,[2,44]),o($Vx,[2,46]),o($V61,[2,58],{12:[1,197]}),{12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,68:198,70:171,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1},o($Vr1,[2,90]),o($Vx,[2,39],{12:[1,199]}),o($V61,[2,59]),o($Vq1,[2,88],{70:195,12:$Vc1,44:$Vd1,57:$Ve1,65:$Vf1,66:$Vg1,67:$Vh1,71:$Vi1,72:$Vj1,73:$Vk1,74:$Vl1,75:$Vm1}),o($Vx,[2,40])], -defaultActions: {147:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], +defaultActions: {159:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -699,15 +723,15 @@ options: {}, performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { var YYSTATE=YY_START; switch($avoiding_name_collisions) { -case 0:return 57; +case 0:return 67; break; -case 1:return 58; +case 1:return 68; break; -case 2:return 59; +case 2:return 69; break; -case 3:return 60; +case 3:return 70; break; -case 4:return 61; +case 4:return 71; break; case 5:return 11; break; @@ -727,76 +751,104 @@ case 12:return 13; break; case 13:return 13; break; -case 14:return 66; +case 14:return 76; break; -case 15:return 74; +case 15:return 84; break; -case 16:return 72; +case 16:return 82; break; case 17:return 9; break; -case 18:return 69; +case 18:return 79; break; -case 19:return 78; +case 19:return 89; break; -case 20:return 79; +case 20:return 16; break; -case 21:return 75; +case 21:return 15; break; -case 22:return 16; +case 22:return 17; break; -case 23:return 15; +case 23:return 18; break; -case 24:return 17; +case 24:return 52; break; -case 25:return 18; +case 25:return 50; break; -case 26:return 50; +case 26:return 51; break; -case 27:return 48; +case 27:return 53; break; -case 28:return 49; +case 28:return 56; break; -case 29:return 51; +case 29:return 54; break; -case 30:return 47; +case 30:return 55; break; -case 31:return 44; +case 31:return 57; break; -case 32:return 77; +case 32:return 56; break; -case 33:return 67; +case 33:return 54; break; -case 34:return 78; +case 34:return 55; break; -case 35:return 71; +case 35:return 57; break; -case 36:return 52; +case 36:return 60; break; -case 37:return 38; +case 37:return 58; break; -case 38:return 39; +case 38:return 59; break; -case 39:return 35; +case 39:return 61; break; -case 40:return 37; +case 40:return 47; break; -case 41:return 40 +case 41:return 48; break; -case 42:return 41 +case 42:return 49; break; -case 43:return 82; +case 43:return 44; break; -case 44:return 19; +case 44:return 85; break; -case 45:return 12; +case 45:return 87; break; -case 46:return 10; +case 46:return 77; +break; +case 47:return 88; +break; +case 48:return 88; +break; +case 49:return 81; +break; +case 50:return 62; +break; +case 51:return 38; +break; +case 52:return 39; +break; +case 53:return 35; +break; +case 54:return 37; +break; +case 55:return 40 +break; +case 56:return 41 +break; +case 57:return 92; +break; +case 58:return 19; +break; +case 59:return 12; +break; +case 60:return 10; break; } }, -rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], -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,42,43,44,45,46],"inclusive":true}} +rules: [/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/], +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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],"inclusive":true}} }); return lexer; })(); diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index cea9f00c7..5a7cbaf68 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -308,6 +308,28 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow'); }); + it('should handle style definitons with more then 1 digit in a row',function(){ + var res = flow.parser.parse('graph TD\n' + + 'A-->B1\n' + + 'A-->B2\n' + + 'A-->B3\n' + + 'A-->B4\n' + + 'A-->B5\n' + + 'A-->B6\n' + + 'A-->B7\n' + + 'A-->B8\n' + + 'A-->B9\n' + + 'A-->B10\n' + + 'A-->B11\n' + + 'linkStyle 10 stroke-width:1px;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].type).toBe('arrow'); + }); + describe("it should handle text on edges",function(){ it('it should handle text without space',function(){ var res = flow.parser.parse('graph TD;A--x|textNoSpace|B;'); @@ -405,6 +427,61 @@ describe('when parsing ',function(){ }); + describe("it should handle new line type notation",function() { + it('it should handle regular lines', function () { + var res = flow.parser.parse('graph TD;A-->B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + expect(edges[0].stroke).toBe('normal'); + }); + it('it should handle dotted lines', function () { + var res = flow.parser.parse('graph TD;A-.->B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].stroke).toBe('dotted'); + }); + it('it should handle dotted lines', function () { + var res = flow.parser.parse('graph TD;A==>B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].stroke).toBe('thick'); + }); + it('it should handle text on lines', function () { + var res = flow.parser.parse('graph TD;A-- test text with == -->B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].stroke).toBe('normal'); + }); + it('it should handle text on lines', function () { + var res = flow.parser.parse('graph TD;A-. test text with == .->B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].stroke).toBe('dotted'); + }); + it('it should handle text on lines', function () { + var res = flow.parser.parse('graph TD;A== test text with -- ==>B;'); + + var vert = flow.parser.yy.getVertices(); + var edges = flow.parser.yy.getEdges(); + + + expect(edges[0].stroke).toBe('thick'); + }); + }); describe("it should handle text on edges using the new notation",function(){ it('it should handle text without space',function(){ diff --git a/test/web.html b/test/web.html index a6f362f2c..4da3af107 100644 --- a/test/web.html +++ b/test/web.html @@ -41,9 +41,9 @@

Sub graphs

graph TB subgraph - sq[Square shape] --> ci((Circle shape)) - od>Odd shape]-- Two line
edge comment --> ro - di{Diamond with
line break} --> ro(Rounded
square
shape) + sq[Square shape] -.-> ci((Circle shape)) + od>Odd shape]-. Two line
edge comment .-> ro + di{Diamond with
line break} ==> ro(Rounded
square
shape) di-->ro2(Rounded square shape) end From 27687fc7424a701c6d19c724c4914783bec7baa9 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 10 Jan 2015 19:23:57 +0100 Subject: [PATCH 47/48] Added notation for titles on subgraphs --- dist/mermaid.full.js | 164 ++++++++++++++------- dist/mermaid.full.min.js | 6 +- dist/mermaid.slim.js | 164 ++++++++++++++------- dist/mermaid.slim.min.js | 6 +- src/diagrams/flowchart/flowRenderer.js | 53 ++++++- src/diagrams/flowchart/graphDb.js | 4 +- src/diagrams/flowchart/parser/flow.jison | 6 +- src/diagrams/flowchart/parser/flow.js | 107 +++++++------- src/diagrams/flowchart/parser/flow.spec.js | 8 +- test/web.html | 15 +- 10 files changed, 352 insertions(+), 181 deletions(-) diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index db2ea8f6f..dfd102968 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13332,8 +13332,10 @@ exports.draw = function (text, id,isDot) { subGraphs.forEach(function(subG){ i = i + 1; var id = 'subG'+i; - //console.log('Setting id '+id); - subG.forEach(function(node){ + + d3.selectAll('cluster').append('text'); + + subG.nodes.forEach(function(node){ //console.log('Setting node',node,' to subgraph '+id); g.setParent(node,id); }); @@ -13415,10 +13417,57 @@ exports.draw = function (text, id,isDot) { render(d3.select("#" + id + " g"), g); var svgb = document.querySelector('#mermaidChart0'); +/* + var xPos = document.querySelectorAll('.clusters rect')[0].x.baseVal.value; + var width = document.querySelectorAll('.clusters rect')[0].width.baseVal.value; + var cluster = d3.selectAll('.cluster'); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', 12); + //te.stroke('black'); + te.attr('id', 'apa12'); + te.style('text-anchor', 'middle'); + te.text('Title for cluster'); +*/ // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); + + + setTimeout(function(){ + console.log('Fixing titles'); + var i = 0; + subGraphs.forEach(function(subG){ + console.log('Setting id '+id); + + + var clusterRects = document.querySelectorAll('#' + id + ' .clusters rect'); + var clusters = document.querySelectorAll('#' + id + ' .cluster'); + + + if(subG.title !== 'undefined'){ + console.log(clusterRects[i]); + var xPos = clusterRects[i].x.baseVal.value; + var yPos = clusterRects[i].y.baseVal.value; + var width = clusterRects[i].width.baseVal.value; + var cluster = d3.select(clusters[i]); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', yPos +14); + te.attr('fill', 'black'); + te.attr('stroke','none'); + te.attr('id', id+'Text'); + te.style('text-anchor', 'middle'); + console.log('Title '+subG.title); + console.log('i',i); + console.log('x'+xPos+width/2); + console.log('y'+xPos); + te.text(subG.title); + } + i = i + 1; + }); + },200); }; },{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){ /** @@ -13635,7 +13684,7 @@ exports.defaultStyle = function () { /** * Clears the internal graph db so that a new graph can be parsed. */ -exports.addSubGraph = function (list) { +exports.addSubGraph = function (list, title) { function uniq(a) { var prims = {"boolean":{}, "number":{}, "string":{}}, objs = []; @@ -13652,7 +13701,7 @@ exports.addSubGraph = function (list) { subG = uniq(subG.concat.apply(subG,list)); - subGraphs.push(subG); + subGraphs.push({nodes:subG,title:title}); }; exports.getSubGraphs = function (list) { return subGraphs; @@ -14472,12 +14521,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[1,75],$Vt=[1,67],$Vu=[1,76],$Vv=[1,63],$Vw=[1,62],$Vx=[1,77],$Vy=[1,78],$Vz=[1,68],$VA=[1,65],$VB=[1,64],$VC=[1,70],$VD=[1,71],$VE=[1,72],$VF=[1,73],$VG=[1,74],$VH=[9,10,19],$VI=[1,85],$VJ=[1,86],$VK=[1,87],$VL=[1,88],$VM=[1,89],$VN=[1,90],$VO=[1,91],$VP=[1,92],$VQ=[1,93],$VR=[1,94],$VS=[1,95],$VT=[1,96],$VU=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VV=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VW=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VX=[1,110],$VY=[1,113],$VZ=[1,111],$V_=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V$=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$V01=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$V11=[2,122],$V21=[1,139],$V31=[1,128],$V41=[1,129],$V51=[1,126],$V61=[1,127],$V71=[1,130],$V81=[1,131],$V91=[1,135],$Va1=[1,136],$Vb1=[1,134],$Vc1=[1,137],$Vd1=[1,125],$Ve1=[1,132],$Vf1=[1,133],$Vg1=[1,138],$Vh1=[76,79,81,82,84,85,87,88,89],$Vi1=[12,62,76,79,81,82,84,85,87,88,89],$Vj1=[1,164],$Vk1=[1,163],$Vl1=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vm1=[1,197],$Vn1=[1,194],$Vo1=[1,201],$Vp1=[1,198],$Vq1=[1,195],$Vr1=[1,202],$Vs1=[1,192],$Vt1=[1,193],$Vu1=[1,196],$Vv1=[1,199],$Vw1=[1,200],$Vx1=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vy1=[1,217],$Vz1=[9,10,19,79],$VA1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"text":30,"endStatement":31,"end":32,"vertex":33,"link":34,"alphaNum":35,"SQS":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14493,7 +14542,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 49: case 51: case 76: case 78: case 89: +case 4: case 5: case 50: case 52: case 77: case 79: case 90: this.$=$$[$0]; break; case 8: @@ -14518,138 +14567,141 @@ case 23: this.$=$$[$0-1] break; case 29: -yy.addSubGraph($$[$0-2]); +yy.addSubGraph($$[$0-2],$$[$0-4]); break; -case 35: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; +case 30: +yy.addSubGraph($$[$0-2],undefined); break; case 36: -this.$ = 'yo'; + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); +this.$ = 'yo'; break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; case 39: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 40: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 41: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 42: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; case 43: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; case 44: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 45: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; case 46: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; case 47: -this.$ = $$[$0];yy.addVertex($$[$0]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 48: +this.$ = $$[$0];yy.addVertex($$[$0]); +break; +case 49: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 50: case 77: case 79: case 90: +case 51: case 78: case 80: case 91: this.$=$$[$0-1]+''+$$[$0]; break; -case 52: +case 53: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 53: +case 54: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 54: +case 55: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 55: +case 56: this.$ = $$[$0]; break; -case 56: case 75: +case 57: case 76: this.$ = $$[$0-1]; break; -case 57: case 59: case 61: +case 58: case 60: case 62: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 58: case 60: case 62: +case 59: case 61: case 63: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 63: +case 64: this.$ = {"type":"arrow","stroke":"normal"}; break; -case 64: +case 65: this.$ = {"type":"arrow_circle","stroke":"normal"}; break; -case 65: +case 66: this.$ = {"type":"arrow_cross","stroke":"normal"}; break; -case 66: +case 67: this.$ = {"type":"arrow_open","stroke":"normal"}; break; -case 67: +case 68: this.$ = {"type":"arrow","stroke":"dotted"}; break; -case 68: +case 69: this.$ = {"type":"arrow_circle","stroke":"dotted"}; break; -case 69: +case 70: this.$ = {"type":"arrow_cross","stroke":"dotted"}; break; -case 70: +case 71: this.$ = {"type":"arrow_open","stroke":"dotted"}; break; -case 71: +case 72: this.$ = {"type":"arrow","stroke":"thick"}; break; -case 72: +case 73: this.$ = {"type":"arrow_circle","stroke":"thick"}; break; -case 73: +case 74: this.$ = {"type":"arrow_cross","stroke":"thick"}; break; -case 74: +case 75: this.$ = {"type":"arrow_open","stroke":"thick"}; break; -case 91: +case 92: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 92: +case 93: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 93: +case 94: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 94: +case 95: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 95: case 96: +case 96: case 97: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 98: +case 99: this.$ = [$$[$0]] break; -case 99: +case 100: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 101: +case 102: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], -defaultActions: {159:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:59,29:$Vx,30:58,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{77:[1,79]},o($VH,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},o($VU,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VV,[2,50]),o($VV,[2,52],{44:[1,108]}),o($VW,[2,125]),o($VW,[2,126]),o($VW,[2,127]),o($VW,[2,128]),o($VW,[2,129]),o($VW,[2,130]),o($VW,[2,131]),o($VW,[2,132]),o($VW,[2,133]),{9:$VX,12:$VY,14:109,19:$VZ,20:112},{9:$VX,12:$VY,14:114,19:$VZ,20:112},{9:$VX,12:$VY,14:115,19:$VZ,20:112},{9:$VX,12:$VY,14:116,19:$VZ,20:112},{9:$VX,12:$VY,14:117,19:$VZ,20:112},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,35]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:118,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V_,$V1,{5:120}),o($V$,[2,77]),o($V01,[2,116]),o($V01,[2,117]),o($V01,[2,118]),o($V01,[2,119]),o($V01,[2,120]),o($V01,[2,121]),o($V01,$V11),o($V01,[2,123]),o($V01,[2,124]),o($V01,[2,81]),o($V01,[2,82]),o($V01,[2,83]),o($V01,[2,84]),o($V01,[2,85]),o($V01,[2,86]),o($V01,[2,87]),o($V01,[2,88]),o($V01,[2,89]),{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,64:121,65:122,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},{33:140,35:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vh1,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},o($Vi1,[2,64]),o($Vi1,[2,65]),o($Vi1,[2,66]),o($Vi1,[2,67]),o($Vi1,[2,68]),o($Vi1,[2,69]),o($Vi1,[2,70]),o($Vi1,[2,71]),o($Vi1,[2,72]),o($Vi1,[2,73]),o($Vi1,[2,74]),o($Vi1,[2,75]),{35:147,42:29,43:30,75:[1,148],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,149]},{35:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:151,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:152,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:153,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:155,32:$Vy,38:[1,154],43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:156,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:157,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,49]),o($VV,[2,51]),{43:158,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,159]},{12:$VY,19:[2,21],20:160},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),o($V_,$V1,{5:161}),o($V$,[2,78]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:162,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:[2,98],29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,65:165,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},o($Vl1,[2,79]),o($Vl1,[2,114]),o($Vl1,[2,115]),o($Vl1,[2,134]),o($Vl1,[2,135]),o($Vl1,[2,136]),o($Vl1,[2,137]),o($Vl1,[2,138]),o($Vl1,[2,139]),o($Vl1,[2,140]),o($Vl1,[2,141]),o($Vl1,[2,142]),o($Vl1,[2,143]),o($Vl1,[2,144]),o($Vl1,[2,145]),o($Vl1,[2,146]),o($Vl1,[2,147]),o($Vl1,[2,148]),o($VH,[2,36]),o($Vh1,[2,54],{12:[1,166]}),o($Vh1,[2,57]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:167,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:168,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:169,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:170,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,171],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,175],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,176],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,177],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:178,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,179],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,41:[1,180],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,181],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VV,[2,53]),o($V0,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:182,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$Vp,10:$Vq,19:$Vr,23:183},o($VH,[2,31]),o($Vn,$Vo,{7:46,31:184,12:$Vj1,19:$V5,32:$Vk1}),o($Vl1,[2,80]),o($Vh1,[2,55]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,62:[1,185],63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,186],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,187],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,188],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vm1,44:$Vn1,67:$Vo1,74:189,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:203,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:204,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:205,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{35:206,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:207,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,38],{12:[1,208]}),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,209],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,42],{12:[1,210]}),o($VU,[2,44],{12:[1,211]}),o($VU,[2,46],{12:[1,212]}),{9:$Vp,10:$Vq,19:$Vr,23:213},o($Vm,[2,30]),o($VH,[2,32]),o([12,76,79,81,82,84,85,87,88,89],[2,76]),o($Vx1,$V11,{45:214,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:215,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:216,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($VH,[2,95],{79:$Vy1}),o($Vz1,[2,99],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VA1,[2,101]),o($VA1,[2,103]),o($VA1,[2,104]),o($VA1,[2,105]),o($VA1,[2,106]),o($VA1,[2,107]),o($VA1,[2,108]),o($VA1,[2,109]),o($VA1,[2,110]),o($VA1,[2,111]),o($VA1,[2,112]),o($VA1,[2,113]),o($VH,[2,96],{79:$Vy1}),o($VH,[2,97],{79:$Vy1}),o($VH,[2,92],{79:$Vy1}),o($VH,[2,93],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VH,[2,94],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VU,[2,39]),{39:[1,219]},o($VU,[2,43]),o($VU,[2,45]),o($VU,[2,47]),o($Vm,[2,29]),o($Vh1,[2,58],{12:[1,220]}),o($Vh1,[2,60],{12:[1,221]}),o($Vh1,[2,62],{12:[1,222]}),{12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,78:223,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},o($VA1,[2,102]),o($VU,[2,40],{12:[1,224]}),o($Vh1,[2,59]),o($Vh1,[2,61]),o($Vh1,[2,63]),o($Vz1,[2,100],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VU,[2,41])], +defaultActions: {160:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15137,7 +15189,7 @@ case 5:return 11; break; case 6:return 29; break; -case 7:return 31; +case 7:return 32; break; case 8:return 13; break; @@ -15229,7 +15281,7 @@ case 51:return 38; break; case 52:return 39; break; -case 53:return 35; +case 53:return 36; break; case 54:return 37; break; diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 9aeb3e24c..4c9679f74 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -34,6 +34,6 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,65],L=[1,66],N=[1,67],O=[1,68],R=[1,69],I=[1,70],q=[1,71],P=[1,72],M=[1,73],j=[1,74],V=[1,75],U=[1,76],G=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],H=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Y=[1,90],z=[1,93],W=[1,91],K=[1,100],Z=[1,99],X=[1,124],J=[1,134],Q=[1,126],et=[1,135],tt=[1,107],rt=[1,106],nt=[1,136],it=[1,137],at=[1,113],ut=[1,114],ot=[1,111],st=[1,112],ct=[1,115],lt=[1,116],ht=[1,127],dt=[1,109],pt=[1,108],ft=[1,120],gt=[1,121],yt=[1,119],mt=[1,122],vt=[1,110],bt=[1,129],At=[1,130],Et=[1,131],xt=[1,132],wt=[1,133],_t=[1,117],Dt=[1,118],kt=[1,123],Ct=[76,79,81,82,84,85,87,88,89],Ft=[12,62,76,79,81,82,84,85,87,88,89],Bt=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Tt=[2,121],St=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Lt=[1,192],Nt=[1,189],Ot=[1,196],Rt=[1,193],It=[1,190],qt=[1,197],Pt=[1,187],Mt=[1,188],jt=[1,191],Vt=[1,194],Ut=[1,195],Gt=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$t=[1,211],Ht=[9,10,19,79],Yt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],zt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 49:case 51:case 76:case 78:case 89:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd"); -break;case 47:this.$=a[u],n.addVertex(a[u]);break;case 48:this.$=a[u-1],n.addVertex(a[u-1]);break;case 50:case 77:case 79:case 90:this.$=a[u-1]+""+a[u];break;case 52:this.$=a[u-2]+"-"+a[u];break;case 53:a[u-1].text=a[u],this.$=a[u-1];break;case 54:a[u-2].text=a[u-1],this.$=a[u-2];break;case 55:this.$=a[u];break;case 56:case 75:this.$=a[u-1];break;case 57:case 59:case 61:a[u].text=a[u-2],this.$=a[u];break;case 58:case 60:case 62:a[u-1].text=a[u-3],this.$=a[u-1];break;case 63:this.$={type:"arrow",stroke:"normal"};break;case 64:this.$={type:"arrow_circle",stroke:"normal"};break;case 65:this.$={type:"arrow_cross",stroke:"normal"};break;case 66:this.$={type:"arrow_open",stroke:"normal"};break;case 67:this.$={type:"arrow",stroke:"dotted"};break;case 68:this.$={type:"arrow_circle",stroke:"dotted"};break;case 69:this.$={type:"arrow_cross",stroke:"dotted"};break;case 70:this.$={type:"arrow_open",stroke:"dotted"};break;case 71:this.$={type:"arrow",stroke:"thick"};break;case 72:this.$={type:"arrow_circle",stroke:"thick"};break;case 73:this.$={type:"arrow_cross",stroke:"thick"};break;case 74:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 92:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 95:case 96:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 98:this.$=[a[u]];break;case 99:a[u-2].push(a[u]),this.$=a[u-2];break;case 101:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n,{5:58}),{77:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},t(G,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t($,[2,49]),t($,[2,51],{44:[1,88]}),t(H,[2,124]),t(H,[2,125]),t(H,[2,126]),t(H,[2,127]),t(H,[2,128]),t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),{9:Y,12:z,14:89,19:W,20:92},{9:Y,12:z,14:94,19:W,20:92},{9:Y,12:z,14:95,19:W,20:92},{9:Y,12:z,14:96,19:W,20:92},{9:Y,12:z,14:97,19:W,20:92},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:K,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:98,31:Z,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:X,11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,64:101,65:102,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},{32:138,34:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Ct,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},t(Ft,[2,63]),t(Ft,[2,64]),t(Ft,[2,65]),t(Ft,[2,66]),t(Ft,[2,67]),t(Ft,[2,68]),t(Ft,[2,69]),t(Ft,[2,70]),t(Ft,[2,71]),t(Ft,[2,72]),t(Ft,[2,73]),t(Ft,[2,74]),{34:145,42:29,43:30,75:[1,146],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,147]},{34:148,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:149,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:151,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:154,38:[1,153],43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:155,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:156,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,48]),t($,[2,50]),{43:157,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,158]},{12:z,19:[2,21],20:159},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:160},t(T,[2,30]),t(D,k,{7:46,30:161,12:K,19:o,31:Z}),{9:X,11:J,12:Q,13:et,15:tt,16:rt,19:[2,97],29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,65:162,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},t(Bt,[2,78]),t(Bt,[2,113]),t(Bt,[2,114]),t(Bt,[2,115]),t(Bt,[2,116]),t(Bt,[2,117]),t(Bt,[2,118]),t(Bt,[2,119]),t(Bt,[2,133]),t(Bt,[2,134]),t(Bt,[2,135]),t(Bt,[2,136]),t(Bt,[2,137]),t(Bt,[2,138]),t(Bt,[2,139]),t(Bt,[2,140]),t(Bt,[2,141]),t(Bt,[2,142]),t(Bt,[2,143]),t(Bt,[2,144]),t(Bt,[2,145]),t(Bt,[2,146]),t(Bt,[2,147]),t(Bt,[2,120]),t(Bt,Tt),t(Bt,[2,122]),t(Bt,[2,123]),t(Bt,[2,80]),t(Bt,[2,81]),t(Bt,[2,82]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(T,[2,35]),t(Ct,[2,53],{12:[1,163]}),t(Ct,[2,56]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:164,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:165,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:166,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:167,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,168],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,173],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,174],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(St,[2,76]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:176,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,177],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,41:[1,178],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,179],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t($,[2,52]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(Bt,[2,79]),t(Ct,[2,54]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,62:[1,180],63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,181],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,182],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,183],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Lt,44:Nt,67:Ot,74:184,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:198,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:199,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:200,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{34:201,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:202,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,37],{12:[1,203]}),t(St,[2,77]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,204],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,41],{12:[1,205]}),t(G,[2,43],{12:[1,206]}),t(G,[2,45],{12:[1,207]}),t([12,76,79,81,82,84,85,87,88,89],[2,75]),t(Gt,Tt,{45:208,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:209,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:210,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(T,[2,94],{79:$t}),t(Ht,[2,98],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(Yt,[2,100]),t(Yt,[2,102]),t(Yt,[2,103]),t(Yt,[2,104]),t(Yt,[2,105]),t(Yt,[2,106]),t(Yt,[2,107]),t(Yt,[2,108]),t(Yt,[2,109]),t(Yt,[2,110]),t(Yt,[2,111]),t(Yt,[2,112]),t(T,[2,95],{79:$t}),t(T,[2,96],{79:$t}),t(T,[2,91],{79:$t}),t(T,[2,92],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(T,[2,93],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(G,[2,38]),{39:[1,213]},t(G,[2,42]),t(G,[2,44]),t(G,[2,46]),t(Ct,[2,57],{12:[1,214]}),t(Ct,[2,59],{12:[1,215]}),t(Ct,[2,61],{12:[1,216]}),{12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,78:217,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},t(Yt,[2,101]),t(G,[2,39],{12:[1,218]}),t(Ct,[2,58]),t(Ct,[2,60]),t(Ct,[2,62]),t(Ht,[2,99],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(G,[2,40])],defaultActions:{159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Wt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 35;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return zt.lexer=Wt,e.prototype=zt,zt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e -},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break; +case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$="yo";break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; +D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index ad41b7b46..2ba89b1c9 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -13300,8 +13300,10 @@ exports.draw = function (text, id,isDot) { subGraphs.forEach(function(subG){ i = i + 1; var id = 'subG'+i; - //console.log('Setting id '+id); - subG.forEach(function(node){ + + d3.selectAll('cluster').append('text'); + + subG.nodes.forEach(function(node){ //console.log('Setting node',node,' to subgraph '+id); g.setParent(node,id); }); @@ -13383,10 +13385,57 @@ exports.draw = function (text, id,isDot) { render(d3.select("#" + id + " g"), g); var svgb = document.querySelector('#mermaidChart0'); +/* + var xPos = document.querySelectorAll('.clusters rect')[0].x.baseVal.value; + var width = document.querySelectorAll('.clusters rect')[0].width.baseVal.value; + var cluster = d3.selectAll('.cluster'); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', 12); + //te.stroke('black'); + te.attr('id', 'apa12'); + te.style('text-anchor', 'middle'); + te.text('Title for cluster'); +*/ // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); + + + setTimeout(function(){ + console.log('Fixing titles'); + var i = 0; + subGraphs.forEach(function(subG){ + console.log('Setting id '+id); + + + var clusterRects = document.querySelectorAll('#' + id + ' .clusters rect'); + var clusters = document.querySelectorAll('#' + id + ' .cluster'); + + + if(subG.title !== 'undefined'){ + console.log(clusterRects[i]); + var xPos = clusterRects[i].x.baseVal.value; + var yPos = clusterRects[i].y.baseVal.value; + var width = clusterRects[i].width.baseVal.value; + var cluster = d3.select(clusters[i]); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', yPos +14); + te.attr('fill', 'black'); + te.attr('stroke','none'); + te.attr('id', id+'Text'); + te.style('text-anchor', 'middle'); + console.log('Title '+subG.title); + console.log('i',i); + console.log('x'+xPos+width/2); + console.log('y'+xPos); + te.text(subG.title); + } + i = i + 1; + }); + },200); }; },{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){ /** @@ -13603,7 +13652,7 @@ exports.defaultStyle = function () { /** * Clears the internal graph db so that a new graph can be parsed. */ -exports.addSubGraph = function (list) { +exports.addSubGraph = function (list, title) { function uniq(a) { var prims = {"boolean":{}, "number":{}, "string":{}}, objs = []; @@ -13620,7 +13669,7 @@ exports.addSubGraph = function (list) { subG = uniq(subG.concat.apply(subG,list)); - subGraphs.push(subG); + subGraphs.push({nodes:subG,title:title}); }; exports.getSubGraphs = function (list) { return subGraphs; @@ -14440,12 +14489,12 @@ if (typeof module !== 'undefined' && require.main === module) { } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[1,75],$Vt=[1,67],$Vu=[1,76],$Vv=[1,63],$Vw=[1,62],$Vx=[1,77],$Vy=[1,78],$Vz=[1,68],$VA=[1,65],$VB=[1,64],$VC=[1,70],$VD=[1,71],$VE=[1,72],$VF=[1,73],$VG=[1,74],$VH=[9,10,19],$VI=[1,85],$VJ=[1,86],$VK=[1,87],$VL=[1,88],$VM=[1,89],$VN=[1,90],$VO=[1,91],$VP=[1,92],$VQ=[1,93],$VR=[1,94],$VS=[1,95],$VT=[1,96],$VU=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VV=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VW=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VX=[1,110],$VY=[1,113],$VZ=[1,111],$V_=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V$=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$V01=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$V11=[2,122],$V21=[1,139],$V31=[1,128],$V41=[1,129],$V51=[1,126],$V61=[1,127],$V71=[1,130],$V81=[1,131],$V91=[1,135],$Va1=[1,136],$Vb1=[1,134],$Vc1=[1,137],$Vd1=[1,125],$Ve1=[1,132],$Vf1=[1,133],$Vg1=[1,138],$Vh1=[76,79,81,82,84,85,87,88,89],$Vi1=[12,62,76,79,81,82,84,85,87,88,89],$Vj1=[1,164],$Vk1=[1,163],$Vl1=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vm1=[1,197],$Vn1=[1,194],$Vo1=[1,201],$Vp1=[1,198],$Vq1=[1,195],$Vr1=[1,202],$Vs1=[1,192],$Vt1=[1,193],$Vu1=[1,196],$Vv1=[1,199],$Vw1=[1,200],$Vx1=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vy1=[1,217],$Vz1=[9,10,19,79],$VA1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"text":30,"endStatement":31,"end":32,"vertex":33,"link":34,"alphaNum":35,"SQS":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -14461,7 +14510,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 49: case 51: case 76: case 78: case 89: +case 4: case 5: case 50: case 52: case 77: case 79: case 90: this.$=$$[$0]; break; case 8: @@ -14486,138 +14535,141 @@ case 23: this.$=$$[$0-1] break; case 29: -yy.addSubGraph($$[$0-2]); +yy.addSubGraph($$[$0-2],$$[$0-4]); break; -case 35: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; +case 30: +yy.addSubGraph($$[$0-2],undefined); break; case 36: -this.$ = 'yo'; + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); +this.$ = 'yo'; break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; case 39: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 40: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 41: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 42: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; case 43: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; case 44: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 45: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; case 46: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; case 47: -this.$ = $$[$0];yy.addVertex($$[$0]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 48: +this.$ = $$[$0];yy.addVertex($$[$0]); +break; +case 49: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 50: case 77: case 79: case 90: +case 51: case 78: case 80: case 91: this.$=$$[$0-1]+''+$$[$0]; break; -case 52: +case 53: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 53: +case 54: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 54: +case 55: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 55: +case 56: this.$ = $$[$0]; break; -case 56: case 75: +case 57: case 76: this.$ = $$[$0-1]; break; -case 57: case 59: case 61: +case 58: case 60: case 62: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 58: case 60: case 62: +case 59: case 61: case 63: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 63: +case 64: this.$ = {"type":"arrow","stroke":"normal"}; break; -case 64: +case 65: this.$ = {"type":"arrow_circle","stroke":"normal"}; break; -case 65: +case 66: this.$ = {"type":"arrow_cross","stroke":"normal"}; break; -case 66: +case 67: this.$ = {"type":"arrow_open","stroke":"normal"}; break; -case 67: +case 68: this.$ = {"type":"arrow","stroke":"dotted"}; break; -case 68: +case 69: this.$ = {"type":"arrow_circle","stroke":"dotted"}; break; -case 69: +case 70: this.$ = {"type":"arrow_cross","stroke":"dotted"}; break; -case 70: +case 71: this.$ = {"type":"arrow_open","stroke":"dotted"}; break; -case 71: +case 72: this.$ = {"type":"arrow","stroke":"thick"}; break; -case 72: +case 73: this.$ = {"type":"arrow_circle","stroke":"thick"}; break; -case 73: +case 74: this.$ = {"type":"arrow_cross","stroke":"thick"}; break; -case 74: +case 75: this.$ = {"type":"arrow_open","stroke":"thick"}; break; -case 91: +case 92: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 92: +case 93: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 93: +case 94: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 94: +case 95: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 95: case 96: +case 96: case 97: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 98: +case 99: this.$ = [$$[$0]] break; -case 99: +case 100: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 101: +case 102: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], -defaultActions: {159:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:59,29:$Vx,30:58,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{77:[1,79]},o($VH,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},o($VU,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VV,[2,50]),o($VV,[2,52],{44:[1,108]}),o($VW,[2,125]),o($VW,[2,126]),o($VW,[2,127]),o($VW,[2,128]),o($VW,[2,129]),o($VW,[2,130]),o($VW,[2,131]),o($VW,[2,132]),o($VW,[2,133]),{9:$VX,12:$VY,14:109,19:$VZ,20:112},{9:$VX,12:$VY,14:114,19:$VZ,20:112},{9:$VX,12:$VY,14:115,19:$VZ,20:112},{9:$VX,12:$VY,14:116,19:$VZ,20:112},{9:$VX,12:$VY,14:117,19:$VZ,20:112},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,35]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:118,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V_,$V1,{5:120}),o($V$,[2,77]),o($V01,[2,116]),o($V01,[2,117]),o($V01,[2,118]),o($V01,[2,119]),o($V01,[2,120]),o($V01,[2,121]),o($V01,$V11),o($V01,[2,123]),o($V01,[2,124]),o($V01,[2,81]),o($V01,[2,82]),o($V01,[2,83]),o($V01,[2,84]),o($V01,[2,85]),o($V01,[2,86]),o($V01,[2,87]),o($V01,[2,88]),o($V01,[2,89]),{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,64:121,65:122,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},{33:140,35:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vh1,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},o($Vi1,[2,64]),o($Vi1,[2,65]),o($Vi1,[2,66]),o($Vi1,[2,67]),o($Vi1,[2,68]),o($Vi1,[2,69]),o($Vi1,[2,70]),o($Vi1,[2,71]),o($Vi1,[2,72]),o($Vi1,[2,73]),o($Vi1,[2,74]),o($Vi1,[2,75]),{35:147,42:29,43:30,75:[1,148],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,149]},{35:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:151,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:152,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:153,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:155,32:$Vy,38:[1,154],43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:156,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:157,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,49]),o($VV,[2,51]),{43:158,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,159]},{12:$VY,19:[2,21],20:160},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),o($V_,$V1,{5:161}),o($V$,[2,78]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:162,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:[2,98],29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,65:165,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},o($Vl1,[2,79]),o($Vl1,[2,114]),o($Vl1,[2,115]),o($Vl1,[2,134]),o($Vl1,[2,135]),o($Vl1,[2,136]),o($Vl1,[2,137]),o($Vl1,[2,138]),o($Vl1,[2,139]),o($Vl1,[2,140]),o($Vl1,[2,141]),o($Vl1,[2,142]),o($Vl1,[2,143]),o($Vl1,[2,144]),o($Vl1,[2,145]),o($Vl1,[2,146]),o($Vl1,[2,147]),o($Vl1,[2,148]),o($VH,[2,36]),o($Vh1,[2,54],{12:[1,166]}),o($Vh1,[2,57]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:167,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:168,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:169,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:170,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,171],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,175],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,176],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,177],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:178,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,179],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,41:[1,180],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,181],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VV,[2,53]),o($V0,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:182,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$Vp,10:$Vq,19:$Vr,23:183},o($VH,[2,31]),o($Vn,$Vo,{7:46,31:184,12:$Vj1,19:$V5,32:$Vk1}),o($Vl1,[2,80]),o($Vh1,[2,55]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,62:[1,185],63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,186],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,187],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,188],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vm1,44:$Vn1,67:$Vo1,74:189,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:203,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:204,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:205,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{35:206,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:207,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,38],{12:[1,208]}),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,209],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,42],{12:[1,210]}),o($VU,[2,44],{12:[1,211]}),o($VU,[2,46],{12:[1,212]}),{9:$Vp,10:$Vq,19:$Vr,23:213},o($Vm,[2,30]),o($VH,[2,32]),o([12,76,79,81,82,84,85,87,88,89],[2,76]),o($Vx1,$V11,{45:214,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:215,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:216,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($VH,[2,95],{79:$Vy1}),o($Vz1,[2,99],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VA1,[2,101]),o($VA1,[2,103]),o($VA1,[2,104]),o($VA1,[2,105]),o($VA1,[2,106]),o($VA1,[2,107]),o($VA1,[2,108]),o($VA1,[2,109]),o($VA1,[2,110]),o($VA1,[2,111]),o($VA1,[2,112]),o($VA1,[2,113]),o($VH,[2,96],{79:$Vy1}),o($VH,[2,97],{79:$Vy1}),o($VH,[2,92],{79:$Vy1}),o($VH,[2,93],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VH,[2,94],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VU,[2,39]),{39:[1,219]},o($VU,[2,43]),o($VU,[2,45]),o($VU,[2,47]),o($Vm,[2,29]),o($Vh1,[2,58],{12:[1,220]}),o($Vh1,[2,60],{12:[1,221]}),o($Vh1,[2,62],{12:[1,222]}),{12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,78:223,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},o($VA1,[2,102]),o($VU,[2,40],{12:[1,224]}),o($Vh1,[2,59]),o($Vh1,[2,61]),o($Vh1,[2,63]),o($Vz1,[2,100],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VU,[2,41])], +defaultActions: {160:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -15105,7 +15157,7 @@ case 5:return 11; break; case 6:return 29; break; -case 7:return 31; +case 7:return 32; break; case 8:return 13; break; @@ -15197,7 +15249,7 @@ case 51:return 38; break; case 52:return 39; break; -case 53:return 35; +case 53:return 36; break; case 54:return 37; break; diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index 18a649b41..e032d8661 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -2,6 +2,6 @@ }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) },D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;e.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e){function t(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var r=[];r=t(r.concat.apply(r,e)),subGraphs.push(r)},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[9,10,19],S=[1,65],L=[1,66],N=[1,67],O=[1,68],R=[1,69],I=[1,70],q=[1,71],P=[1,72],M=[1,73],j=[1,74],V=[1,75],U=[1,76],G=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],H=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Y=[1,90],z=[1,93],W=[1,91],K=[1,100],Z=[1,99],X=[1,124],J=[1,134],Q=[1,126],et=[1,135],tt=[1,107],rt=[1,106],nt=[1,136],it=[1,137],at=[1,113],ut=[1,114],ot=[1,111],st=[1,112],ct=[1,115],lt=[1,116],ht=[1,127],dt=[1,109],pt=[1,108],ft=[1,120],gt=[1,121],yt=[1,119],mt=[1,122],vt=[1,110],bt=[1,129],At=[1,130],Et=[1,131],xt=[1,132],wt=[1,133],_t=[1,117],Dt=[1,118],kt=[1,123],Ct=[76,79,81,82,84,85,87,88,89],Ft=[12,62,76,79,81,82,84,85,87,88,89],Bt=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Tt=[2,121],St=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Lt=[1,192],Nt=[1,189],Ot=[1,196],Rt=[1,193],It=[1,190],qt=[1,197],Pt=[1,187],Mt=[1,188],jt=[1,191],Vt=[1,194],Ut=[1,195],Gt=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$t=[1,211],Ht=[9,10,19,79],Yt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],zt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,endStatement:30,end:31,vertex:32,link:33,alphaNum:34,SQS:35,text:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 49:case 51:case 76:case 78:case 89:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2]);break;case 35:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 36:this.$="yo";break;case 37:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 38:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 39:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 40:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 41:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 42:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 43:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 44:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 45:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 46:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd"); -break;case 47:this.$=a[u],n.addVertex(a[u]);break;case 48:this.$=a[u-1],n.addVertex(a[u-1]);break;case 50:case 77:case 79:case 90:this.$=a[u-1]+""+a[u];break;case 52:this.$=a[u-2]+"-"+a[u];break;case 53:a[u-1].text=a[u],this.$=a[u-1];break;case 54:a[u-2].text=a[u-1],this.$=a[u-2];break;case 55:this.$=a[u];break;case 56:case 75:this.$=a[u-1];break;case 57:case 59:case 61:a[u].text=a[u-2],this.$=a[u];break;case 58:case 60:case 62:a[u-1].text=a[u-3],this.$=a[u-1];break;case 63:this.$={type:"arrow",stroke:"normal"};break;case 64:this.$={type:"arrow_circle",stroke:"normal"};break;case 65:this.$={type:"arrow_cross",stroke:"normal"};break;case 66:this.$={type:"arrow_open",stroke:"normal"};break;case 67:this.$={type:"arrow",stroke:"dotted"};break;case 68:this.$={type:"arrow_circle",stroke:"dotted"};break;case 69:this.$={type:"arrow_cross",stroke:"dotted"};break;case 70:this.$={type:"arrow_open",stroke:"dotted"};break;case 71:this.$={type:"arrow",stroke:"thick"};break;case 72:this.$={type:"arrow_circle",stroke:"thick"};break;case 73:this.$={type:"arrow_cross",stroke:"thick"};break;case 74:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 92:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 95:case 96:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 98:this.$=[a[u]];break;case 99:a[u-2].push(a[u]),this.$=a[u-2];break;case 101:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},t([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n,{5:58}),{77:[1,59]},t(T,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},t(G,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t($,[2,49]),t($,[2,51],{44:[1,88]}),t(H,[2,124]),t(H,[2,125]),t(H,[2,126]),t(H,[2,127]),t(H,[2,128]),t(H,[2,129]),t(H,[2,130]),t(H,[2,131]),t(H,[2,132]),{9:Y,12:z,14:89,19:W,20:92},{9:Y,12:z,14:94,19:W,20:92},{9:Y,12:z,14:95,19:W,20:92},{9:Y,12:z,14:96,19:W,20:92},{9:Y,12:z,14:97,19:W,20:92},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,32]),t(_,[2,33]),t(_,[2,34]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{6:6,7:7,8:8,9:i,10:a,12:K,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,30:98,31:Z,32:22,34:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:X,11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,64:101,65:102,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},{32:138,34:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Ct,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},t(Ft,[2,63]),t(Ft,[2,64]),t(Ft,[2,65]),t(Ft,[2,66]),t(Ft,[2,67]),t(Ft,[2,68]),t(Ft,[2,69]),t(Ft,[2,70]),t(Ft,[2,71]),t(Ft,[2,72]),t(Ft,[2,73]),t(Ft,[2,74]),{34:145,42:29,43:30,75:[1,146],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,147]},{34:148,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:149,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:151,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:154,38:[1,153],43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:155,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:156,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,48]),t($,[2,50]),{43:157,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,158]},{12:z,19:[2,21],20:159},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),{9:C,10:F,19:B,23:160},t(T,[2,30]),t(D,k,{7:46,30:161,12:K,19:o,31:Z}),{9:X,11:J,12:Q,13:et,15:tt,16:rt,19:[2,97],29:nt,31:it,35:at,37:ut,38:ot,39:st,40:ct,41:lt,43:125,44:ht,47:dt,49:pt,50:ft,51:gt,52:yt,53:mt,62:vt,63:103,65:162,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,86:104,87:E,88:x,89:w,90:_t,91:Dt,92:kt},t(Bt,[2,78]),t(Bt,[2,113]),t(Bt,[2,114]),t(Bt,[2,115]),t(Bt,[2,116]),t(Bt,[2,117]),t(Bt,[2,118]),t(Bt,[2,119]),t(Bt,[2,133]),t(Bt,[2,134]),t(Bt,[2,135]),t(Bt,[2,136]),t(Bt,[2,137]),t(Bt,[2,138]),t(Bt,[2,139]),t(Bt,[2,140]),t(Bt,[2,141]),t(Bt,[2,142]),t(Bt,[2,143]),t(Bt,[2,144]),t(Bt,[2,145]),t(Bt,[2,146]),t(Bt,[2,147]),t(Bt,[2,120]),t(Bt,Tt),t(Bt,[2,122]),t(Bt,[2,123]),t(Bt,[2,80]),t(Bt,[2,81]),t(Bt,[2,82]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(T,[2,35]),t(Ct,[2,53],{12:[1,163]}),t(Ct,[2,56]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:164,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:165,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:166,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:167,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,168],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,173],42:87,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,174],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(St,[2,76]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,36:176,43:125,44:ht,47:dt,49:pt,63:152,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,177],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,41:[1,178],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,37:[1,179],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t($,[2,52]),t(r,[2,15]),{19:[2,20]},t(_,[2,29]),t(T,[2,31]),t(Bt,[2,79]),t(Ct,[2,54]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,62:[1,180],63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,181],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,182],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:J,12:[1,183],13:et,15:tt,16:rt,29:nt,31:it,43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Lt,44:Nt,67:Ot,74:184,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:198,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:199,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{12:Lt,44:Nt,67:Ot,74:200,75:Rt,76:It,77:qt,78:185,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},{34:201,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{34:202,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,37],{12:[1,203]}),t(St,[2,77]),{11:J,12:Q,13:et,15:tt,16:rt,29:nt,31:it,39:[1,204],43:125,44:ht,47:dt,49:pt,63:175,66:128,67:bt,68:At,69:Et,70:xt,71:wt,73:105,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(G,[2,41],{12:[1,205]}),t(G,[2,43],{12:[1,206]}),t(G,[2,45],{12:[1,207]}),t([12,76,79,81,82,84,85,87,88,89],[2,75]),t(Gt,Tt,{45:208,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:209,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(Gt,Tt,{45:210,50:S,51:L,52:N,53:O,54:R,55:I,56:q,57:P,58:M,59:j,60:V,61:U}),t(T,[2,94],{79:$t}),t(Ht,[2,98],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(Yt,[2,100]),t(Yt,[2,102]),t(Yt,[2,103]),t(Yt,[2,104]),t(Yt,[2,105]),t(Yt,[2,106]),t(Yt,[2,107]),t(Yt,[2,108]),t(Yt,[2,109]),t(Yt,[2,110]),t(Yt,[2,111]),t(Yt,[2,112]),t(T,[2,95],{79:$t}),t(T,[2,96],{79:$t}),t(T,[2,91],{79:$t}),t(T,[2,92],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(T,[2,93],{43:30,42:87,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(G,[2,38]),{39:[1,213]},t(G,[2,42]),t(G,[2,44]),t(G,[2,46]),t(Ct,[2,57],{12:[1,214]}),t(Ct,[2,59],{12:[1,215]}),t(Ct,[2,61],{12:[1,216]}),{12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,78:217,80:186,81:Pt,82:Mt,83:jt,84:Vt,85:Ut},t(Yt,[2,101]),t(G,[2,39],{12:[1,218]}),t(Ct,[2,58]),t(Ct,[2,60]),t(Ct,[2,62]),t(Ht,[2,99],{80:212,12:Lt,44:Nt,67:Ot,75:Rt,76:It,77:qt,81:Pt,82:Mt,83:jt,84:Vt,85:Ut}),t(G,[2,40])],defaultActions:{159:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Wt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 31;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 35;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return zt.lexer=Wt,e.prototype=zt,zt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e -},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break; +case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$="yo";break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; +D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 8e6234084..016f1e690 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -250,8 +250,10 @@ exports.draw = function (text, id,isDot) { subGraphs.forEach(function(subG){ i = i + 1; var id = 'subG'+i; - //console.log('Setting id '+id); - subG.forEach(function(node){ + + d3.selectAll('cluster').append('text'); + + subG.nodes.forEach(function(node){ //console.log('Setting node',node,' to subgraph '+id); g.setParent(node,id); }); @@ -333,8 +335,55 @@ exports.draw = function (text, id,isDot) { render(d3.select("#" + id + " g"), g); var svgb = document.querySelector('#mermaidChart0'); +/* + var xPos = document.querySelectorAll('.clusters rect')[0].x.baseVal.value; + var width = document.querySelectorAll('.clusters rect')[0].width.baseVal.value; + var cluster = d3.selectAll('.cluster'); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', 12); + //te.stroke('black'); + te.attr('id', 'apa12'); + te.style('text-anchor', 'middle'); + te.text('Title for cluster'); +*/ // Center the graph svg.attr("height", g.graph().height ); svg.attr("width", g.graph().width ); svg.attr("viewBox", svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height); + + + setTimeout(function(){ + console.log('Fixing titles'); + var i = 0; + subGraphs.forEach(function(subG){ + console.log('Setting id '+id); + + + var clusterRects = document.querySelectorAll('#' + id + ' .clusters rect'); + var clusters = document.querySelectorAll('#' + id + ' .cluster'); + + + if(subG.title !== 'undefined'){ + console.log(clusterRects[i]); + var xPos = clusterRects[i].x.baseVal.value; + var yPos = clusterRects[i].y.baseVal.value; + var width = clusterRects[i].width.baseVal.value; + var cluster = d3.select(clusters[i]); + var te = cluster.append('text'); + te.attr('x', xPos+width/2); + te.attr('y', yPos +14); + te.attr('fill', 'black'); + te.attr('stroke','none'); + te.attr('id', id+'Text'); + te.style('text-anchor', 'middle'); + console.log('Title '+subG.title); + console.log('i',i); + console.log('x'+xPos+width/2); + console.log('y'+xPos); + te.text(subG.title); + } + i = i + 1; + }); + },200); }; \ No newline at end of file diff --git a/src/diagrams/flowchart/graphDb.js b/src/diagrams/flowchart/graphDb.js index 5141f3c6c..6b387e08c 100644 --- a/src/diagrams/flowchart/graphDb.js +++ b/src/diagrams/flowchart/graphDb.js @@ -212,7 +212,7 @@ exports.defaultStyle = function () { /** * Clears the internal graph db so that a new graph can be parsed. */ -exports.addSubGraph = function (list) { +exports.addSubGraph = function (list, title) { function uniq(a) { var prims = {"boolean":{}, "number":{}, "string":{}}, objs = []; @@ -229,7 +229,7 @@ exports.addSubGraph = function (list) { subG = uniq(subG.concat.apply(subG,list)); - subGraphs.push(subG); + subGraphs.push({nodes:subG,title:title}); }; exports.getSubGraphs = function (list) { return subGraphs; diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index 96ff027e6..ef74c0be7 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -204,8 +204,10 @@ statement {$$=[];} | clickStatement separator {$$=[];} - | subgraph document endStatement separator - {yy.addSubGraph($2);} + | subgraph text separator document endStatement separator + {yy.addSubGraph($4,$2);} + | subgraph separator document endStatement separator + {yy.addSubGraph($3,undefined);} ; endStatement: end diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index dc25ac3f7..fc70cafc9 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[9,10,19],$Vt=[1,65],$Vu=[1,66],$Vv=[1,67],$Vw=[1,68],$Vx=[1,69],$Vy=[1,70],$Vz=[1,71],$VA=[1,72],$VB=[1,73],$VC=[1,74],$VD=[1,75],$VE=[1,76],$VF=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VG=[9,10,12,15,19,35,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VH=[9,10,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VI=[1,90],$VJ=[1,93],$VK=[1,91],$VL=[1,100],$VM=[1,99],$VN=[1,124],$VO=[1,134],$VP=[1,126],$VQ=[1,135],$VR=[1,107],$VS=[1,106],$VT=[1,136],$VU=[1,137],$VV=[1,113],$VW=[1,114],$VX=[1,111],$VY=[1,112],$VZ=[1,115],$V_=[1,116],$V$=[1,127],$V01=[1,109],$V11=[1,108],$V21=[1,120],$V31=[1,121],$V41=[1,119],$V51=[1,122],$V61=[1,110],$V71=[1,129],$V81=[1,130],$V91=[1,131],$Va1=[1,132],$Vb1=[1,133],$Vc1=[1,117],$Vd1=[1,118],$Ve1=[1,123],$Vf1=[76,79,81,82,84,85,87,88,89],$Vg1=[12,62,76,79,81,82,84,85,87,88,89],$Vh1=[9,11,12,13,15,16,19,29,31,35,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vi1=[2,121],$Vj1=[11,12,13,15,16,29,31,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vk1=[1,192],$Vl1=[1,189],$Vm1=[1,196],$Vn1=[1,193],$Vo1=[1,190],$Vp1=[1,197],$Vq1=[1,187],$Vr1=[1,188],$Vs1=[1,191],$Vt1=[1,194],$Vu1=[1,195],$Vv1=[11,12,13,15,16,29,31,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vw1=[1,211],$Vx1=[9,10,19,79],$Vy1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1=[2,2],$V2=[1,9],$V3=[1,10],$V4=[1,11],$V5=[1,12],$V6=[1,20],$V7=[1,23],$V8=[1,24],$V9=[1,25],$Va=[1,26],$Vb=[1,27],$Vc=[1,32],$Vd=[1,21],$Ve=[1,34],$Vf=[1,31],$Vg=[1,33],$Vh=[1,39],$Vi=[1,38],$Vj=[1,35],$Vk=[1,36],$Vl=[1,37],$Vm=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vn=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$Vo=[2,19],$Vp=[1,51],$Vq=[1,52],$Vr=[1,50],$Vs=[1,75],$Vt=[1,67],$Vu=[1,76],$Vv=[1,63],$Vw=[1,62],$Vx=[1,77],$Vy=[1,78],$Vz=[1,68],$VA=[1,65],$VB=[1,64],$VC=[1,70],$VD=[1,71],$VE=[1,72],$VF=[1,73],$VG=[1,74],$VH=[9,10,19],$VI=[1,85],$VJ=[1,86],$VK=[1,87],$VL=[1,88],$VM=[1,89],$VN=[1,90],$VO=[1,91],$VP=[1,92],$VQ=[1,93],$VR=[1,94],$VS=[1,95],$VT=[1,96],$VU=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],$VV=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],$VW=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$VX=[1,110],$VY=[1,113],$VZ=[1,111],$V_=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V$=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$V01=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$V11=[2,122],$V21=[1,139],$V31=[1,128],$V41=[1,129],$V51=[1,126],$V61=[1,127],$V71=[1,130],$V81=[1,131],$V91=[1,135],$Va1=[1,136],$Vb1=[1,134],$Vc1=[1,137],$Vd1=[1,125],$Ve1=[1,132],$Vf1=[1,133],$Vg1=[1,138],$Vh1=[76,79,81,82,84,85,87,88,89],$Vi1=[12,62,76,79,81,82,84,85,87,88,89],$Vj1=[1,164],$Vk1=[1,163],$Vl1=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],$Vm1=[1,197],$Vn1=[1,194],$Vo1=[1,201],$Vp1=[1,198],$Vq1=[1,195],$Vr1=[1,202],$Vs1=[1,192],$Vt1=[1,193],$Vu1=[1,196],$Vv1=[1,199],$Vw1=[1,200],$Vx1=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],$Vy1=[1,217],$Vz1=[9,10,19,79],$VA1=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"endStatement":30,"end":31,"vertex":32,"link":33,"alphaNum":34,"SQS":35,"text":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, -terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",31:"end",35:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, -productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,4],[30,1],[30,2],[23,1],[23,1],[23,1],[22,3],[22,1],[32,4],[32,5],[32,6],[32,7],[32,4],[32,5],[32,4],[32,5],[32,4],[32,5],[32,1],[32,2],[34,1],[34,2],[42,1],[42,3],[33,2],[33,3],[33,1],[33,2],[33,5],[33,6],[33,5],[33,6],[33,5],[33,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[36,1],[36,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"spaceListNewline":7,"statement":8,"SEMI":9,"EOF":10,"GRAPH":11,"SPACE":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"NEWLINE":19,"spaceList":20,"commentStatement":21,"verticeStatement":22,"separator":23,"styleStatement":24,"linkStyleStatement":25,"classDefStatement":26,"classStatement":27,"clickStatement":28,"subgraph":29,"text":30,"endStatement":31,"end":32,"vertex":33,"link":34,"alphaNum":35,"SQS":36,"SQE":37,"PS":38,"PE":39,"DIAMOND_START":40,"DIAMOND_STOP":41,"alphaNumStatement":42,"alphaNumToken":43,"MINUS":44,"linkStatement":45,"arrowText":46,"--":47,"-.":48,"==":49,"ARROW_POINT":50,"ARROW_CIRCLE":51,"ARROW_CROSS":52,"ARROW_OPEN":53,"DOTTED_ARROW_POINT":54,"DOTTED_ARROW_CIRCLE":55,"DOTTED_ARROW_CROSS":56,"DOTTED_ARROW_OPEN":57,"THICK_ARROW_POINT":58,"THICK_ARROW_CIRCLE":59,"THICK_ARROW_CROSS":60,"THICK_ARROW_OPEN":61,"PIPE":62,"textToken":63,"commentText":64,"commentToken":65,"keywords":66,"STYLE":67,"LINKSTYLE":68,"CLASSDEF":69,"CLASS":70,"CLICK":71,"textNoTags":72,"textNoTagsToken":73,"stylesOpt":74,"HEX":75,"NUM":76,"PCT":77,"style":78,"COMMA":79,"styleComponent":80,"ALPHA":81,"COLON":82,"UNIT":83,"BRKT":84,"DOT":85,"graphCodeTokens":86,"PLUS":87,"EQUALS":88,"MULT":89,"TAG_START":90,"TAG_END":91,"QUOTE":92,"$accept":0,"$end":1}, +terminals_: {2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -93,7 +93,7 @@ case 3: } this.$=$$[$0-1]; break; -case 4: case 5: case 49: case 51: case 76: case 78: case 89: +case 4: case 5: case 50: case 52: case 77: case 79: case 90: this.$=$$[$0]; break; case 8: @@ -118,138 +118,141 @@ case 23: this.$=$$[$0-1] break; case 29: -yy.addSubGraph($$[$0-2]); +yy.addSubGraph($$[$0-2],$$[$0-4]); break; -case 35: - yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; +case 30: +yy.addSubGraph($$[$0-2],undefined); break; case 36: -this.$ = 'yo'; + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); +this.$ = 'yo'; break; case 38: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); break; case 39: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); break; case 40: -this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); break; case 41: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); break; case 42: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); break; case 43: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); break; case 44: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); break; case 45: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); break; case 46: -this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); break; case 47: -this.$ = $$[$0];yy.addVertex($$[$0]); +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); break; case 48: +this.$ = $$[$0];yy.addVertex($$[$0]); +break; +case 49: this.$ = $$[$0-1];yy.addVertex($$[$0-1]); break; -case 50: case 77: case 79: case 90: +case 51: case 78: case 80: case 91: this.$=$$[$0-1]+''+$$[$0]; break; -case 52: +case 53: this.$=$$[$0-2]+'-'+$$[$0]; break; -case 53: +case 54: $$[$0-1].text = $$[$0];this.$ = $$[$0-1]; break; -case 54: +case 55: $$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; break; -case 55: +case 56: this.$ = $$[$0]; break; -case 56: case 75: +case 57: case 76: this.$ = $$[$0-1]; break; -case 57: case 59: case 61: +case 58: case 60: case 62: $$[$0].text = $$[$0-2];this.$ = $$[$0]; break; -case 58: case 60: case 62: +case 59: case 61: case 63: $$[$0-1].text = $$[$0-3];this.$ = $$[$0-1]; break; -case 63: +case 64: this.$ = {"type":"arrow","stroke":"normal"}; break; -case 64: +case 65: this.$ = {"type":"arrow_circle","stroke":"normal"}; break; -case 65: +case 66: this.$ = {"type":"arrow_cross","stroke":"normal"}; break; -case 66: +case 67: this.$ = {"type":"arrow_open","stroke":"normal"}; break; -case 67: +case 68: this.$ = {"type":"arrow","stroke":"dotted"}; break; -case 68: +case 69: this.$ = {"type":"arrow_circle","stroke":"dotted"}; break; -case 69: +case 70: this.$ = {"type":"arrow_cross","stroke":"dotted"}; break; -case 70: +case 71: this.$ = {"type":"arrow_open","stroke":"dotted"}; break; -case 71: +case 72: this.$ = {"type":"arrow","stroke":"thick"}; break; -case 72: +case 73: this.$ = {"type":"arrow_circle","stroke":"thick"}; break; -case 73: +case 74: this.$ = {"type":"arrow_cross","stroke":"thick"}; break; -case 74: +case 75: this.$ = {"type":"arrow_open","stroke":"thick"}; break; -case 91: +case 92: this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); break; -case 92: +case 93: this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); break; -case 93: +case 94: this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0]); break; -case 94: +case 95: this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); break; -case 95: case 96: +case 96: case 97: this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); break; -case 98: +case 99: this.$ = [$$[$0]] break; -case 99: +case 100: $$[$0-2].push($$[$0]);this.$ = $$[$0-2]; break; -case 101: +case 102: this.$ = $$[$0-1] + $$[$0]; break; } }, -table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},o([9,10,12,19,29,31,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],$V1,{5:58}),{77:[1,59]},o($Vs,[2,36],{33:60,45:61,47:[1,62],48:[1,63],49:[1,64],50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),{12:[1,77]},{12:[1,78]},{12:[1,79]},{12:[1,80]},{12:[1,81]},o($VF,[2,47],{43:30,42:87,12:[1,86],15:[1,85],35:[1,82],38:[1,83],40:[1,84],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VG,[2,49]),o($VG,[2,51],{44:[1,88]}),o($VH,[2,124]),o($VH,[2,125]),o($VH,[2,126]),o($VH,[2,127]),o($VH,[2,128]),o($VH,[2,129]),o($VH,[2,130]),o($VH,[2,131]),o($VH,[2,132]),{9:$VI,12:$VJ,14:89,19:$VK,20:92},{9:$VI,12:$VJ,14:94,19:$VK,20:92},{9:$VI,12:$VJ,14:95,19:$VK,20:92},{9:$VI,12:$VJ,14:96,19:$VK,20:92},{9:$VI,12:$VJ,14:97,19:$VK,20:92},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,32]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$VL,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,30:98,31:$VM,32:22,34:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,64:101,65:102,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},{32:138,34:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vf1,[2,55],{46:139,12:[1,140],62:[1,141]}),{12:[1,142]},{12:[1,143]},{12:[1,144]},o($Vg1,[2,63]),o($Vg1,[2,64]),o($Vg1,[2,65]),o($Vg1,[2,66]),o($Vg1,[2,67]),o($Vg1,[2,68]),o($Vg1,[2,69]),o($Vg1,[2,70]),o($Vg1,[2,71]),o($Vg1,[2,72]),o($Vg1,[2,73]),o($Vg1,[2,74]),{34:145,42:29,43:30,75:[1,146],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,147]},{34:148,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:149,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:151,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:154,38:[1,153],43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:155,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:156,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,48]),o($VG,[2,50]),{43:157,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,158]},{12:$VJ,19:[2,21],20:159},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),{9:$Vp,10:$Vq,19:$Vr,23:160},o($Vs,[2,30]),o($Vn,$Vo,{7:46,30:161,12:$VL,19:$V5,31:$VM}),{9:$VN,11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,19:[2,97],29:$VT,31:$VU,35:$VV,37:$VW,38:$VX,39:$VY,40:$VZ,41:$V_,43:125,44:$V$,47:$V01,49:$V11,50:$V21,51:$V31,52:$V41,53:$V51,62:$V61,63:103,65:162,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:104,87:$Vj,88:$Vk,89:$Vl,90:$Vc1,91:$Vd1,92:$Ve1},o($Vh1,[2,78]),o($Vh1,[2,113]),o($Vh1,[2,114]),o($Vh1,[2,115]),o($Vh1,[2,116]),o($Vh1,[2,117]),o($Vh1,[2,118]),o($Vh1,[2,119]),o($Vh1,[2,133]),o($Vh1,[2,134]),o($Vh1,[2,135]),o($Vh1,[2,136]),o($Vh1,[2,137]),o($Vh1,[2,138]),o($Vh1,[2,139]),o($Vh1,[2,140]),o($Vh1,[2,141]),o($Vh1,[2,142]),o($Vh1,[2,143]),o($Vh1,[2,144]),o($Vh1,[2,145]),o($Vh1,[2,146]),o($Vh1,[2,147]),o($Vh1,[2,120]),o($Vh1,$Vi1),o($Vh1,[2,122]),o($Vh1,[2,123]),o($Vh1,[2,80]),o($Vh1,[2,81]),o($Vh1,[2,82]),o($Vh1,[2,83]),o($Vh1,[2,84]),o($Vh1,[2,85]),o($Vh1,[2,86]),o($Vh1,[2,87]),o($Vh1,[2,88]),o($Vs,[2,35]),o($Vf1,[2,53],{12:[1,163]}),o($Vf1,[2,56]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:164,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:165,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:166,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:167,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,168],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,169]},{12:[1,170]},{12:[1,171],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,173],42:87,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,174],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vj1,[2,76]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,36:176,43:125,44:$V$,47:$V01,49:$V11,63:152,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,177],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,41:[1,178],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,37:[1,179],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VG,[2,52]),o($V0,[2,15]),{19:[2,20]},o($Vm,[2,29]),o($Vs,[2,31]),o($Vh1,[2,79]),o($Vf1,[2,54]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,62:[1,180],63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,181],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,182],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$VO,12:[1,183],13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vk1,44:$Vl1,67:$Vm1,74:184,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:198,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:199,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{12:$Vk1,44:$Vl1,67:$Vm1,74:200,75:$Vn1,76:$Vo1,77:$Vp1,78:185,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},{34:201,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{34:202,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,37],{12:[1,203]}),o($Vj1,[2,77]),{11:$VO,12:$VP,13:$VQ,15:$VR,16:$VS,29:$VT,31:$VU,39:[1,204],43:125,44:$V$,47:$V01,49:$V11,63:175,66:128,67:$V71,68:$V81,69:$V91,70:$Va1,71:$Vb1,73:105,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VF,[2,41],{12:[1,205]}),o($VF,[2,43],{12:[1,206]}),o($VF,[2,45],{12:[1,207]}),o([12,76,79,81,82,84,85,87,88,89],[2,75]),o($Vv1,$Vi1,{45:208,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:209,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vv1,$Vi1,{45:210,50:$Vt,51:$Vu,52:$Vv,53:$Vw,54:$Vx,55:$Vy,56:$Vz,57:$VA,58:$VB,59:$VC,60:$VD,61:$VE}),o($Vs,[2,94],{79:$Vw1}),o($Vx1,[2,98],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($Vy1,[2,100]),o($Vy1,[2,102]),o($Vy1,[2,103]),o($Vy1,[2,104]),o($Vy1,[2,105]),o($Vy1,[2,106]),o($Vy1,[2,107]),o($Vy1,[2,108]),o($Vy1,[2,109]),o($Vy1,[2,110]),o($Vy1,[2,111]),o($Vy1,[2,112]),o($Vs,[2,95],{79:$Vw1}),o($Vs,[2,96],{79:$Vw1}),o($Vs,[2,91],{79:$Vw1}),o($Vs,[2,92],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($Vs,[2,93],{43:30,42:87,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VF,[2,38]),{39:[1,213]},o($VF,[2,42]),o($VF,[2,44]),o($VF,[2,46]),o($Vf1,[2,57],{12:[1,214]}),o($Vf1,[2,59],{12:[1,215]}),o($Vf1,[2,61],{12:[1,216]}),{12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,78:217,80:186,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1},o($Vy1,[2,101]),o($VF,[2,39],{12:[1,218]}),o($Vf1,[2,58]),o($Vf1,[2,60]),o($Vf1,[2,62]),o($Vx1,[2,99],{80:212,12:$Vk1,44:$Vl1,67:$Vm1,75:$Vn1,76:$Vo1,77:$Vp1,81:$Vq1,82:$Vr1,83:$Vs1,84:$Vt1,85:$Vu1}),o($VF,[2,40])], -defaultActions: {159:[2,20]}, +table: [{3:1,4:2,11:[1,3]},{1:[3]},o($V0,$V1,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:$V2,10:$V3,12:$V4,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},o($Vm,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vm,[2,5]),o($Vm,[2,6]),o($Vm,[2,7]),o($Vn,$Vo,{7:46,12:$V4,19:$V5}),o($Vn,[2,18],{7:47,12:$V4,19:$V5}),{19:[1,48]},{9:$Vp,10:$Vq,19:$Vr,23:49},{9:$Vp,10:$Vq,19:$Vr,23:53},{9:$Vp,10:$Vq,19:$Vr,23:54},{9:$Vp,10:$Vq,19:$Vr,23:55},{9:$Vp,10:$Vq,19:$Vr,23:56},{9:$Vp,10:$Vq,19:$Vr,23:57},{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:59,29:$Vx,30:58,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{77:[1,79]},o($VH,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},o($VU,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VV,[2,50]),o($VV,[2,52],{44:[1,108]}),o($VW,[2,125]),o($VW,[2,126]),o($VW,[2,127]),o($VW,[2,128]),o($VW,[2,129]),o($VW,[2,130]),o($VW,[2,131]),o($VW,[2,132]),o($VW,[2,133]),{9:$VX,12:$VY,14:109,19:$VZ,20:112},{9:$VX,12:$VY,14:114,19:$VZ,20:112},{9:$VX,12:$VY,14:115,19:$VZ,20:112},{9:$VX,12:$VY,14:116,19:$VZ,20:112},{9:$VX,12:$VY,14:117,19:$VZ,20:112},o($Vm,[2,4]),o($Vn,[2,16]),o($Vn,[2,17]),o($Vm,[2,22]),o($Vm,[2,23]),o($Vm,[2,33]),o($Vm,[2,34]),o($Vm,[2,35]),o($Vm,[2,24]),o($Vm,[2,25]),o($Vm,[2,26]),o($Vm,[2,27]),o($Vm,[2,28]),{9:$Vp,10:$Vq,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:$Vr,23:118,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V_,$V1,{5:120}),o($V$,[2,77]),o($V01,[2,116]),o($V01,[2,117]),o($V01,[2,118]),o($V01,[2,119]),o($V01,[2,120]),o($V01,[2,121]),o($V01,$V11),o($V01,[2,123]),o($V01,[2,124]),o($V01,[2,81]),o($V01,[2,82]),o($V01,[2,83]),o($V01,[2,84]),o($V01,[2,85]),o($V01,[2,86]),o($V01,[2,87]),o($V01,[2,88]),o($V01,[2,89]),{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,64:121,65:122,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},{33:140,35:28,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($Vh1,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},o($Vi1,[2,64]),o($Vi1,[2,65]),o($Vi1,[2,66]),o($Vi1,[2,67]),o($Vi1,[2,68]),o($Vi1,[2,69]),o($Vi1,[2,70]),o($Vi1,[2,71]),o($Vi1,[2,72]),o($Vi1,[2,73]),o($Vi1,[2,74]),o($Vi1,[2,75]),{35:147,42:29,43:30,75:[1,148],76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{76:[1,149]},{35:150,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:151,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:152,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:153,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:155,32:$Vy,38:[1,154],43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:156,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:157,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,49]),o($VV,[2,51]),{43:158,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($V0,[2,8]),o($V0,[2,13]),o($V0,[2,14]),{19:[1,159]},{12:$VY,19:[2,21],20:160},o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),o($V_,$V1,{5:161}),o($V$,[2,78]),{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:162,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$V21,11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,19:[2,98],29:$Vx,32:$Vy,36:$V31,37:$V41,38:$V51,39:$V61,40:$V71,41:$V81,43:66,44:$Vz,47:$VA,49:$VB,50:$V91,51:$Va1,52:$Vb1,53:$Vc1,62:$Vd1,63:123,65:165,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,86:124,87:$Vj,88:$Vk,89:$Vl,90:$Ve1,91:$Vf1,92:$Vg1},o($Vl1,[2,79]),o($Vl1,[2,114]),o($Vl1,[2,115]),o($Vl1,[2,134]),o($Vl1,[2,135]),o($Vl1,[2,136]),o($Vl1,[2,137]),o($Vl1,[2,138]),o($Vl1,[2,139]),o($Vl1,[2,140]),o($Vl1,[2,141]),o($Vl1,[2,142]),o($Vl1,[2,143]),o($Vl1,[2,144]),o($Vl1,[2,145]),o($Vl1,[2,146]),o($Vl1,[2,147]),o($Vl1,[2,148]),o($VH,[2,36]),o($Vh1,[2,54],{12:[1,166]}),o($Vh1,[2,57]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:167,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:168,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:169,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:170,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,171],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,175],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:[1,176],42:107,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,177],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,30:178,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:60,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,179],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,41:[1,180],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,37:[1,181],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VV,[2,53]),o($V0,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:$V2,10:$V3,12:$Vj1,19:$V5,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:$V6,31:182,32:$Vk1,33:22,35:28,42:29,43:30,67:$V7,68:$V8,69:$V9,70:$Va,71:$Vb,76:$Vc,77:$Vd,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{9:$Vp,10:$Vq,19:$Vr,23:183},o($VH,[2,31]),o($Vn,$Vo,{7:46,31:184,12:$Vj1,19:$V5,32:$Vk1}),o($Vl1,[2,80]),o($Vh1,[2,55]),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,62:[1,185],63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,186],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,187],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{11:$Vs,12:[1,188],13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{12:$Vm1,44:$Vn1,67:$Vo1,74:189,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:203,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:204,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{12:$Vm1,44:$Vn1,67:$Vo1,74:205,75:$Vp1,76:$Vq1,77:$Vr1,78:190,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},{35:206,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},{35:207,42:29,43:30,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,38],{12:[1,208]}),{11:$Vs,12:$Vt,13:$Vu,15:$Vv,16:$Vw,29:$Vx,32:$Vy,39:[1,209],43:66,44:$Vz,47:$VA,49:$VB,63:119,66:69,67:$VC,68:$VD,69:$VE,70:$VF,71:$VG,73:61,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl},o($VU,[2,42],{12:[1,210]}),o($VU,[2,44],{12:[1,211]}),o($VU,[2,46],{12:[1,212]}),{9:$Vp,10:$Vq,19:$Vr,23:213},o($Vm,[2,30]),o($VH,[2,32]),o([12,76,79,81,82,84,85,87,88,89],[2,76]),o($Vx1,$V11,{45:214,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:215,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($Vx1,$V11,{45:216,50:$VI,51:$VJ,52:$VK,53:$VL,54:$VM,55:$VN,56:$VO,57:$VP,58:$VQ,59:$VR,60:$VS,61:$VT}),o($VH,[2,95],{79:$Vy1}),o($Vz1,[2,99],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VA1,[2,101]),o($VA1,[2,103]),o($VA1,[2,104]),o($VA1,[2,105]),o($VA1,[2,106]),o($VA1,[2,107]),o($VA1,[2,108]),o($VA1,[2,109]),o($VA1,[2,110]),o($VA1,[2,111]),o($VA1,[2,112]),o($VA1,[2,113]),o($VH,[2,96],{79:$Vy1}),o($VH,[2,97],{79:$Vy1}),o($VH,[2,92],{79:$Vy1}),o($VH,[2,93],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VH,[2,94],{43:30,42:107,76:$Vc,79:$Ve,81:$Vf,82:$Vg,84:$Vh,85:$Vi,87:$Vj,88:$Vk,89:$Vl}),o($VU,[2,39]),{39:[1,219]},o($VU,[2,43]),o($VU,[2,45]),o($VU,[2,47]),o($Vm,[2,29]),o($Vh1,[2,58],{12:[1,220]}),o($Vh1,[2,60],{12:[1,221]}),o($Vh1,[2,62],{12:[1,222]}),{12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,78:223,80:191,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1},o($VA1,[2,102]),o($VU,[2,40],{12:[1,224]}),o($Vh1,[2,59]),o($Vh1,[2,61]),o($Vh1,[2,63]),o($Vz1,[2,100],{80:218,12:$Vm1,44:$Vn1,67:$Vo1,75:$Vp1,76:$Vq1,77:$Vr1,81:$Vs1,82:$Vt1,83:$Vu1,84:$Vv1,85:$Vw1}),o($VU,[2,41])], +defaultActions: {160:[2,20]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -737,7 +740,7 @@ case 5:return 11; break; case 6:return 29; break; -case 7:return 31; +case 7:return 32; break; case 8:return 13; break; @@ -829,7 +832,7 @@ case 51:return 38; break; case 52:return 39; break; -case 53:return 35; +case 53:return 36; break; case 54:return 37; break; diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 5a7cbaf68..0e8dfc522 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -249,7 +249,7 @@ describe('when parsing ',function(){ expect(edges[0].type).toBe('arrow_circle'); }); it('should handle subgraphs',function(){ - var res = flow.parser.parse('graph TD;A-->B;subgraph;c-->d;end;'); + var res = flow.parser.parse('graph TD;A-->B;subgraph myTitle;c-->d;end;'); var vert = flow.parser.yy.getVertices(); var edges = flow.parser.yy.getEdges(); @@ -259,7 +259,7 @@ describe('when parsing ',function(){ }); it('should handle subgraphs',function(){ - var res = flow.parser.parse('graph TD\nA-->B\nsubgraph\nc-->d\nend\n'); + var res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\nc-->d\nend\n'); var vert = flow.parser.yy.getVertices(); var edges = flow.parser.yy.getEdges(); @@ -269,7 +269,7 @@ describe('when parsing ',function(){ }); it('should handle subgraphs',function(){ - var res = flow.parser.parse('graph TD\nA-->B\nsubgraph\nc-->d\nend;'); + var res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\nc-->d\nend;'); var vert = flow.parser.yy.getVertices(); var edges = flow.parser.yy.getEdges(); @@ -279,7 +279,7 @@ describe('when parsing ',function(){ }); it('should handle subgraphs',function(){ - var res = flow.parser.parse('graph TD\nA-->B\nsubgraph\nc-- text -->d\nd-->e\n end;'); + var res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\nc-- text -->d\nd-->e\n end;'); var vert = flow.parser.yy.getVertices(); var edges = flow.parser.yy.getEdges(); diff --git a/test/web.html b/test/web.html index 4da3af107..11ec5521b 100644 --- a/test/web.html +++ b/test/web.html @@ -39,6 +39,19 @@ class green B;

Sub graphs

+
graph TB + subgraph one + a1-->a2 + end + subgraph two + b1-->b2 + end + subgraph three + c1-->c2 + end + c1-->a2 + +
graph TB subgraph sq[Square shape] -.-> ci((Circle shape)) @@ -48,7 +61,7 @@ end %% Notice that no text in shape are added here instead that is appended further down - subgraph + subgraph Go go e --> od3>Really long text with linebreak
in an Odd shape] e((Inner / circle
and some odd
special characters)) --> f(,.?!+-*ز) From 911cd09dd875deb50f65a98baf21f65ab2cbf82b Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 11 Jan 2015 15:02:35 +0100 Subject: [PATCH 48/48] New release --- bower.json | 2 +- dist/mermaid.full.js | 7 +++++-- dist/mermaid.full.min.js | 6 +++--- dist/mermaid.slim.js | 7 +++++-- dist/mermaid.slim.min.js | 6 +++--- package.json | 2 +- src/diagrams/flowchart/flowRenderer.js | 2 ++ src/diagrams/flowchart/graphDb.js | 1 + src/diagrams/flowchart/parser/flow.jison | 2 +- src/diagrams/flowchart/parser/flow.js | 2 +- test/web.html | 26 ++++++++++++++++++++++-- 11 files changed, 47 insertions(+), 16 deletions(-) diff --git a/bower.json b/bower.json index 6e78ffef7..9ba677a36 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.3.1", + "version": "0.3.2", "authors": [ "knsv " ], diff --git a/dist/mermaid.full.js b/dist/mermaid.full.js index dfd102968..269231dd9 100644 --- a/dist/mermaid.full.js +++ b/dist/mermaid.full.js @@ -13001,7 +13001,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.3.1", + "version": "0.3.2", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { @@ -13142,6 +13142,8 @@ exports.addVertices = function (vert, g) { verticeText = vertice.text; } + console.log(verticeText); + var radious = 0; var _shape = ''; @@ -13700,6 +13702,7 @@ exports.addSubGraph = function (list, title) { var subG = []; subG = uniq(subG.concat.apply(subG,list)); + //console.log(subG); subGraphs.push({nodes:subG,title:title}); }; @@ -14576,7 +14579,7 @@ case 36: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = 'yo'; +this.$ = [$$[$0]]; break; case 38: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); diff --git a/dist/mermaid.full.min.js b/dist/mermaid.full.min.js index 4c9679f74..9f4665424 100644 --- a/dist/mermaid.full.min.js +++ b/dist/mermaid.full.min.js @@ -33,7 +33,7 @@ func=null;return result}}function partial(func){return createWrapper(func,16,sli !function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},R,v(r,O),A.pick(r,I))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,q),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var O=["nodesep","edgesep","ranksep","marginx","marginy"],R={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},I=["acyclicer","ranker","rankdir","align"],q=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break; -case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$="yo";break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.2",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text,console.log(i);var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1]; +break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$=[a[u]];break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index 2ba89b1c9..791738b25 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -12969,7 +12969,7 @@ process.chdir = function (dir) { },{}],102:[function(require,module,exports){ module.exports={ "name": "mermaid", - "version": "0.3.1", + "version": "0.3.2", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { @@ -13110,6 +13110,8 @@ exports.addVertices = function (vert, g) { verticeText = vertice.text; } + console.log(verticeText); + var radious = 0; var _shape = ''; @@ -13668,6 +13670,7 @@ exports.addSubGraph = function (list, title) { var subG = []; subG = uniq(subG.concat.apply(subG,list)); + //console.log(subG); subGraphs.push({nodes:subG,title:title}); }; @@ -14544,7 +14547,7 @@ case 36: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = 'yo'; +this.$ = [$$[$0]]; break; case 38: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); diff --git a/dist/mermaid.slim.min.js b/dist/mermaid.slim.min.js index e032d8661..d047ef20b 100644 --- a/dist/mermaid.slim.min.js +++ b/dist/mermaid.slim.min.js @@ -1,7 +1,7 @@ !function e(t,r,n){function i(u,o){if(!r[u]){if(!t[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=r[u]={exports:{}};t[u][0].call(c.exports,function(e){var r=t[u][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[u].exports}for(var a="function"==typeof require&&require,u=0;um?(m-y)/g:(m+y)/g,m=u*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(e,t){return e*t>0}t.exports=r},{}],14:[function(e,t){function r(e,t){return e.intersect(t)}t.exports=r},{}],15:[function(e,t){function r(e,t,r){var i=e.x,a=e.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)});for(var c=i-e.width/2-o,l=a-e.height/2-s,h=0;h1&&u.sort(function(e,t){var n=e.x-r.x,i=e.y-r.y,a=Math.sqrt(n*n+i*i),u=t.x-r.x,o=t.y-r.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}var n=e("./intersect-line");t.exports=r},{"./intersect-line":13}],16:[function(e,t){function r(e,t){var r,n,i=e.x,a=e.y,u=t.x-i,o=t.y-a,s=e.width/2,c=e.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),r=0===o?0:c*u/o,n=c):(0>u&&(s=-s),r=s,n=0===u?0:s*o/u),{x:i+r,y:a+n}}t.exports=r},{}],17:[function(e,t){function r(e,t){var r=e.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=t.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),r.attr("width",u).attr("height",o),r}var n=e("../util");t.exports=r},{"../util":25}],18:[function(e,t){function r(e,t){var r=t.label,a=e.append("g");"string"!=typeof r||"html"===t.labelType?i(a,t):n(a,t);var u=a.node().getBBox();return a.attr("transform","translate("+-u.width/2+","+-u.height/2+")"),a}var n=e("./add-text-label"),i=e("./add-html-label");t.exports=r},{"./add-html-label":17,"./add-text-label":19}],19:[function(e,t){function r(e,t){for(var r=e.append("text"),a=n(t.label).split("\n"),u=0;uo;++o)n(e,"borderLeft","_bl",r,u,o),n(e,"borderRight","_br",r,u,o)}}i.each(e.children(),t)}function n(e,t,r,n,i,u){var o={width:0,height:0,rank:u},s=i[t][u-1],c=a.addDummyNode(e,"border",o,r);i[t][u]=c,e.setParent(c,n),s&&e.setEdge(s,c,{weight:1})}var i=e("./lodash"),a=e("./util");t.exports=r},{"./lodash":36,"./util":55}],30:[function(e,t){"use strict";function r(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&i(e)}function n(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&u(e),("lr"===t||"rl"===t)&&(s(e),i(e))}function i(e){l.each(e.nodes(),function(t){a(e.node(t))}),l.each(e.edges(),function(t){a(e.edge(t))})}function a(e){var t=e.width;e.width=e.height,e.height=t}function u(e){l.each(e.nodes(),function(t){o(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,o),l.has(r,"y")&&o(r)})}function o(e){e.y=-e.y}function s(e){l.each(e.nodes(),function(t){c(e.node(t))}),l.each(e.edges(),function(t){var r=e.edge(t);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(e){var t=e.x;e.x=e.y,e.y=t}var l=e("./lodash");t.exports={adjust:r,undo:n}},{"./lodash":36}],31:[function(e,t){function r(){var e={};e._next=e._prev=e,this._sentinel=e}function n(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){return"_next"!==e&&"_prev"!==e?t:void 0}t.exports=r,r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;return t!==e?(n(t),t):void 0},r.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&n(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},r.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,i)),r=r._prev;return"["+e.join(", ")+"]"}},{}],32:[function(e,t){function r(e){var t=i.buildLayerMatrix(e),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.each(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.each(t,function(e,t){var i="layer"+t;r.setNode(i,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}var n=e("./lodash"),i=e("./util"),a=e("./graphlib").Graph;t.exports={debugOrdering:r}},{"./graphlib":33,"./lodash":36,"./util":55}],33:[function(e,t){t.exports=e(9)},{graphlib:57}],34:[function(e,t){function r(e,t){if(e.nodeCount()<=1)return[];var r=a(e,t||l),i=n(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(i,function(t){return e.outEdges(t.v,t.w)}),!0)}function n(e,t,r){for(var n,a=[],u=t[t.length-1],o=t[0];e.nodeCount();){for(;n=o.dequeue();)i(e,t,r,n);for(;n=u.dequeue();)i(e,t,r,n);if(e.nodeCount())for(var s=t.length-2;s>0;--s)if(n=t[s].dequeue()){a=a.concat(i(e,t,r,n,!0));break}}return a}function i(e,t,r,n,i){var a=i?[]:void 0;return o.each(e.inEdges(n.v),function(n){var o=e.edge(n),s=e.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,u(t,r,s)}),o.each(e.outEdges(n.v),function(n){var i=e.edge(n),a=n.w,o=e.node(a);o.in-=i,u(t,r,o)}),e.removeNode(n.v),a}function a(e,t){var r=new s,n=0,i=0;o.each(e.nodes(),function(e){r.setNode(e,{v:e,"in":0,out:0})}),o.each(e.edges(),function(e){var a=r.edge(e.v,e.w)||0,u=t(e),o=a+u;r.setEdge(e.v,e.w,o),i=Math.max(i,r.node(e.v).out+=u),n=Math.max(n,r.node(e.w).in+=u)});var a=o.range(i+n+3).map(function(){return new c}),l=n+1;return o.each(r.nodes(),function(e){u(a,l,r.node(e))}),{graph:r,buckets:a,zeroIdx:l}}function u(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var o=e("./lodash"),s=e("./graphlib").Graph,c=e("./data/list");t.exports=r;var l=o.constant(1)},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(e,t){"use strict";function r(e,t){var r=t&&t.debugTiming?L.time:L.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){return a(e)});r(" runLayout",function(){n(t,r)}),r(" updateInputGraph",function(){i(e,t)})})}function n(e,t){t(" makeSpaceForEdgeLabels",function(){u(e)}),t(" removeSelfEdges",function(){g(e)}),t(" acyclic",function(){E.run(e)}),t(" nestingGraph.run",function(){C.run(e)}),t(" rank",function(){w(L.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){o(e)}),t(" removeEmptyRanks",function(){k(e)}),t(" nestingGraph.cleanup",function(){C.cleanup(e)}),t(" normalizeRanks",function(){_(e)}),t(" assignRankMinMax",function(){s(e)}),t(" removeEdgeLabelProxies",function(){c(e)}),t(" normalize.run",function(){x.run(e)}),t(" parentDummyChains",function(){D(e)}),t(" addBorderSegments",function(){F(e)}),t(" order",function(){T(e)}),t(" insertSelfEdges",function(){y(e)}),t(" adjustCoordinateSystem",function(){B.adjust(e)}),t(" position",function(){S(e)}),t(" positionSelfEdges",function(){m(e)}),t(" removeBorderNodes",function(){f(e)}),t(" normalize.undo",function(){x.undo(e)}),t(" fixupEdgeLabelCoords",function(){d(e)}),t(" undoCoordinateSystem",function(){B.undo(e)}),t(" translateGraph",function(){l(e)}),t(" assignNodeIntersects",function(){h(e)}),t(" reversePoints",function(){p(e)}),t(" acyclic.undo",function(){E.undo(e)})}function i(e,t){A.each(e.nodes(),function(r){var n=e.node(r),i=t.node(r);n&&(n.x=i.x,n.y=i.y,t.children(r).length&&(n.width=i.width,n.height=i.height))}),A.each(e.edges(),function(r){var n=e.edge(r),i=t.edge(r);n.points=i.points,A.has(i,"x")&&(n.x=i.x,n.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}function a(e){var t=new N({multigraph:!0,compound:!0}),r=b(e.graph());return t.setGraph(A.merge({},R,v(r,O),A.pick(r,I))),A.each(e.nodes(),function(r){var n=b(e.node(r));t.setNode(r,A.defaults(v(n,q),P)),t.setParent(r,e.parent(r))}),A.each(e.edges(),function(r){var n=b(e.edge(r));t.setEdge(r,A.merge({},j,v(n,M),A.pick(n,V)))}),t}function u(e){var t=e.graph();t.ranksep/=2,A.each(e.edges(),function(r){var n=e.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function o(e){A.each(e.edges(),function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),i=e.node(t.w),a={rank:(i.rank-n.rank)/2+n.rank,e:t};L.addDummyNode(e,"edge-proxy",a,"_ep")}})}function s(e){var t=0;A.each(e.nodes(),function(r){var n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=A.max(t,n.maxRank))}),e.graph().maxRank=t}function c(e){A.each(e.nodes(),function(t){var r=e.node(t);"edge-proxy"===r.dummy&&(e.edge(r.e).labelRank=r.rank,e.removeNode(t))})}function l(e){function t(e){var t=e.x,u=e.y,o=e.width,s=e.height;r=Math.min(r,t-o/2),n=Math.max(n,t+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,u=e.graph(),o=u.marginx||0,s=u.marginy||0;A.each(e.nodes(),function(r){t(e.node(r))}),A.each(e.edges(),function(r){var n=e.edge(r);A.has(n,"x")&&t(n)}),r-=o,i-=s,A.each(e.nodes(),function(t){var n=e.node(t);n.x-=r,n.y-=i}),A.each(e.edges(),function(t){var n=e.edge(t);A.each(n.points,function(e){e.x-=r,e.y-=i}),A.has(n,"x")&&(n.x-=r),A.has(n,"y")&&(n.y-=i)}),u.width=n-r+o,u.height=a-i+s}function h(e){A.each(e.edges(),function(t){var r,n,i=e.edge(t),a=e.node(t.v),u=e.node(t.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=u,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(u,n))})}function d(e){A.each(e.edges(),function(t){var r=e.edge(t);if(A.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function p(e){A.each(e.edges(),function(t){var r=e.edge(t);r.reversed&&r.points.reverse()})}function f(e){A.each(e.nodes(),function(t){if(e.children(t).length){var r=e.node(t),n=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(A.last(r.borderLeft)),u=e.node(A.last(r.borderRight));r.width=Math.abs(u.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),A.each(e.nodes(),function(t){"border"===e.node(t).dummy&&e.removeNode(t)})}function g(e){A.each(e.edges(),function(t){if(t.v===t.w){var r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function y(e){var t=L.buildLayerMatrix(e);A.each(t,function(t){var r=0;A.each(t,function(t,n){var i=e.node(t);i.order=n+r,A.each(i.selfEdges,function(t){L.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:n+ ++r,e:t.e,label:t.label},"_se")}),delete i.selfEdges})})}function m(e){A.each(e.nodes(),function(t){var r=e.node(t);if("selfedge"===r.dummy){var n=e.node(r.e.v),i=n.x+n.width/2,a=n.y,u=r.x-i,o=n.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function v(e,t){return A.mapValues(A.pick(e,t),Number)}function b(e){var t={};return A.each(e,function(e,r){t[r.toLowerCase()]=e}),t}var A=e("./lodash"),E=e("./acyclic"),x=e("./normalize"),w=e("./rank"),_=e("./util").normalizeRanks,D=e("./parent-dummy-chains"),k=e("./util").removeEmptyRanks,C=e("./nesting-graph"),F=e("./add-border-segments"),B=e("./coordinate-system"),T=e("./order"),S=e("./position"),L=e("./util"),N=e("./graphlib").Graph;t.exports=r;var O=["nodesep","edgesep","ranksep","marginx","marginy"],R={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},I=["acyclicer","ranker","rankdir","align"],q=["width","height"],P={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},V=["labelpos"]},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(e,t){t.exports=e(20)},{lodash:101}],37:[function(e,t){function r(e){var t=s.addDummyNode(e,"root",{},"_root"),r=i(e),u=o.max(r)-1,c=2*u+1;e.graph().nestingRoot=t,o.each(e.edges(),function(t){e.edge(t).minlen*=c});var l=a(e)+1;o.each(e.children(),function(i){n(e,t,c,l,u,r,i)}),e.graph().nodeRankFactor=c}function n(e,t,r,i,a,u,c){var l=e.children(c);if(!l.length)return void(c!==t&&e.setEdge(t,c,{weight:0,minlen:r}));var h=s.addBorderNode(e,"_bt"),d=s.addBorderNode(e,"_bb"),p=e.node(c);e.setParent(h,c),p.borderTop=h,e.setParent(d,c),p.borderBottom=d,o.each(l,function(o){n(e,t,r,i,a,u,o);var s=e.node(o),l=s.borderTop?s.borderTop:o,p=s.borderBottom?s.borderBottom:o,f=s.borderTop?i:2*i,g=l!==p?1:a-u[c]+1;e.setEdge(h,l,{weight:f,minlen:g,nestingEdge:!0}),e.setEdge(p,d,{weight:f,minlen:g,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,h,{weight:0,minlen:a+u[c]})}function i(e){function t(n,i){var a=e.children(n);a&&a.length&&o.each(a,function(e){t(e,i+1)}),r[n]=i}var r={};return o.each(e.children(),function(e){t(e,1)}),r}function a(e){return o.reduce(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function u(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,o.each(e.edges(),function(t){var r=e.edge(t);r.nestingEdge&&e.removeEdge(t)})}var o=e("./lodash"),s=e("./util");t.exports={run:r,cleanup:u}},{"./lodash":36,"./util":55}],38:[function(e,t){"use strict";function r(e){e.graph().dummyChains=[],a.each(e.edges(),function(t){n(e,t)})}function n(e,t){var r=t.v,n=e.node(r).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==n+1){e.removeEdge(t);var l,h,d;for(d=0,++n;a>n;++d,++n)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:t,rank:n},l=u.addDummyNode(e,"edge",h,"_d"),n===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),e.setEdge(r,l,{weight:s.weight},o),0===d&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,i,{weight:s.weight},o)}}function i(e){a.each(e.graph().dummyChains,function(t){var r,n=e.node(t),i=n.edgeLabel;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}var a=e("./lodash"),u=e("./util");t.exports={run:r,undo:i}},{"./lodash":36,"./util":55}],39:[function(e,t){function r(e,t,r){var i,a={};n.each(r,function(r){for(var n,u,o=e.parent(r);o;){if(n=e.parent(o),n?(u=a[n],a[n]=o):(u=i,i=o),u&&u!==o)return void t.setEdge(u,o);o=n}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],40:[function(e,t){function r(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(r.length){var i=n.reduce(r,function(t,r){var n=e.edge(r),i=e.node(r.v);return{sum:t.sum+n.weight*i.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}})}var n=e("../lodash");t.exports=r},{"../lodash":36}],41:[function(e,t){function r(e,t,r){var u=n(e),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(t){return e.node(t)});return i.each(e.nodes(),function(n){var a=e.node(n),s=e.parent(n);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(n),o.setParent(n,s||u),i.each(e[r](n),function(t){var r=t.v===n?t.w:t.v,a=o.edge(r,n),u=i.isUndefined(a)?0:a.weight;o.setEdge(r,n,{weight:e.edge(t).weight+u})}),i.has(a,"minRank")&&o.setNode(n,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o}function n(e){for(var t;e.hasNode(t=i.uniqueId("_root")););return t}var i=e("../lodash"),a=e("../graphlib").Graph;t.exports=r},{"../graphlib":33,"../lodash":36}],42:[function(e,t){"use strict";function r(e,t){for(var r=0,i=1;i0;)t%2&&(r+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*r})),c}var i=e("../lodash");t.exports=r},{"../lodash":36}],43:[function(e,t){"use strict";function r(e){var t=p.maxRank(e),r=n(e,u.range(1,t+1),"inEdges"),c=n(e,u.range(t-1,-1,-1),"outEdges"),l=o(e);a(e,l);for(var h,d=Number.POSITIVE_INFINITY,f=0,g=0;4>g;++f,++g){i(f%2?r:c,f%4>=2),l=p.buildLayerMatrix(e);var y=s(e,l);d>y&&(g=0,h=u.cloneDeep(l),d=y)}a(e,h)}function n(e,t,r){return u.map(t,function(t){return l(e,t,r)})}function i(e,t){var r=new d;u.each(e,function(e){var n=e.graph().root,i=c(e,n,r,t);u.each(i.vs,function(t,r){e.node(t).order=r}),h(e,r,i.vs)})}function a(e,t){u.each(t,function(t){u.each(t,function(t,r){e.node(t).order=r})})}var u=e("../lodash"),o=e("./init-order"),s=e("./cross-count"),c=e("./sort-subgraph"),l=e("./build-layer-graph"),h=e("./add-subgraph-constraints"),d=e("../graphlib").Graph,p=e("../util");t.exports=r},{"../graphlib":33,"../lodash":36,"../util":55,"./add-subgraph-constraints":39,"./build-layer-graph":41,"./cross-count":42,"./init-order":44,"./sort-subgraph":46}],44:[function(e,t){"use strict";function r(e){function t(i){if(!n.has(r,i)){r[i]=!0;var a=e.node(i);u[a.rank].push(i),n.each(e.successors(i),t)}}var r={},i=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(i,function(t){return e.node(t).rank})),u=n.map(n.range(a+1),function(){return[]}),o=n.sortBy(i,function(t){return e.node(t).rank});return n.each(o,t),u}var n=e("../lodash");t.exports=r},{"../lodash":36}],45:[function(e,t){"use strict";function r(e,t){var r={};a.each(e,function(e,t){var n=r[e.v]={indegree:0,"in":[],out:[],vs:[e.v],i:t};a.isUndefined(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),a.each(t.edges(),function(e){var t=r[e.v],n=r[e.w];a.isUndefined(t)||a.isUndefined(n)||(n.indegree++,t.out.push(r[e.w]))});var i=a.filter(r,function(e){return!e.indegree});return n(i)}function n(e){function t(e){return function(t){t.merged||(a.isUndefined(t.barycenter)||a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&i(e,t)}}function r(t){return function(r){r.in.push(t),0===--r.indegree&&e.push(r)}}for(var n=[];e.length;){var u=e.pop();n.push(u),a.each(u.in.reverse(),t(u)),a.each(u.out,r(u))}return a.chain(n).filter(function(e){return!e.merged}).map(function(e){return a.pick(e,["vs","i","barycenter","weight"])}).value()}function i(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}var a=e("../lodash");t.exports=r},{"../lodash":36}],46:[function(e,t){function r(e,t,c,l){var h=e.children(t),d=e.node(t),p=d?d.borderLeft:void 0,f=d?d.borderRight:void 0,g={};p&&(h=a.filter(h,function(e){return e!==p&&e!==f}));var y=u(e,h);a.each(y,function(t){if(e.children(t.v).length){var n=r(e,t.v,c,l);g[t.v]=n,a.has(n,"barycenter")&&i(t,n)}});var m=o(y,c);n(m,g);var v=s(m,l);if(p&&(v.vs=a.flatten([p,v.vs,f],!0),e.predecessors(p).length)){var b=e.node(e.predecessors(p)[0]),A=e.node(e.predecessors(f)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+A.order)/(v.weight+2),v.weight+=2 }return v}function n(e,t){a.each(e,function(e){e.vs=a.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function i(e,t){a.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var a=e("../lodash"),u=e("./barycenter"),o=e("./resolve-conflicts"),s=e("./sort");t.exports=r},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(e,t){function r(e,t){var r=u.partition(e,function(e){return a.has(e,"barycenter")}),o=r.lhs,s=a.sortBy(r.rhs,function(e){return-e.i}),c=[],l=0,h=0,d=0;o.sort(i(!!t)),d=n(c,s,d),a.each(o,function(e){d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,h+=e.weight,d=n(c,s,d)});var p={vs:a.flatten(c,!0)};return h&&(p.barycenter=l/h,p.weight=h),p}function n(e,t,r){for(var n;t.length&&(n=a.last(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function i(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var a=e("../lodash"),u=e("../util");t.exports=r},{"../lodash":36,"../util":55}],48:[function(e,t){function r(e){var t=i(e);a.each(e.graph().dummyChains,function(r){for(var i=e.node(r),a=i.edgeObj,u=n(e,t,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;r!==a.w;){if(i=e.node(r),h){for(;(l=o[c])!==s&&e.node(l).maxRanks||c>t[i].lim));for(a=i,i=n;(i=e.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(e){function t(i){var u=n;a.each(e.children(i),t),r[i]={low:u,lim:n++}}var r={},n=0;return a.each(e.children(),t),r}var a=e("./lodash");t.exports=r},{"./lodash":36}],49:[function(e,t){"use strict";function r(e,t){function r(t,r){var u=0,o=0,s=t.length,c=y.last(r);return y.each(r,function(t,l){var h=i(e,t),d=h?e.node(h).order:s;(h||t===c)&&(y.each(r.slice(o,l+1),function(t){y.each(e.predecessors(t),function(r){var i=e.node(r),o=i.order;!(u>o||o>d)||i.dummy&&e.node(t).dummy||a(n,r,t)})}),o=l+1,u=d)}),r}var n={};return y.reduce(t,r),n}function n(e,t){function r(t,r,n,u,o){var s;y.each(y.range(r,n),function(r){s=t[r],e.node(s).dummy&&y.each(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.ordero)&&a(i,t,s)})})}function n(t,n){var i,a=-1,u=0;return y.each(n,function(o,s){if("border"===e.node(o).dummy){var c=e.predecessors(o);c.length&&(i=e.node(c[0]).order,r(n,u,s,a,i),u=s,a=i)}r(n,u,n.length,i,t.length)}),n}var i={};return y.reduce(t,n),i}function i(e,t){return e.node(t).dummy?y.find(e.predecessors(t),function(t){return e.node(t).dummy}):void 0}function a(e,t,r){if(t>r){var n=t;t=r,r=n}var i=e[t];i||(e[t]=i={}),i[r]=!0}function u(e,t,r){if(t>r){var n=t;t=r,r=n}return y.has(e[t],r)}function o(e,t,r,n){var i={},a={},o={};return y.each(t,function(e){y.each(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),y.each(t,function(e){var t=-1;y.each(e,function(e){var s=n(e);if(s.length){s=y.sortBy(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=s[l];a[e]===e&&tu.lim&&(o=u,s=!0);var c=f.filter(t.edges(),function(t){return s===p(e,e.node(t.v),o)&&s!==p(e,e.node(t.w),o)});return f.min(c,function(e){return y(t,e)})}function l(e,t,r,i){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(i.v,i.w,{}),u(e),n(e,t),h(e,t)}function h(e,t){var r=f.find(e.nodes(),function(e){return!t.node(e).parent}),n=v(e,r);n=n.slice(1),f.each(n,function(r){var n=e.node(r).parent,i=t.edge(r,n),a=!1;i||(i=t.edge(n,r),a=!0),t.node(r).rank=t.node(n).rank+(a?i.minlen:-i.minlen)})}function d(e,t,r){return e.hasEdge(t,r)}function p(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var f=e("../lodash"),g=e("./feasible-tree"),y=e("./util").slack,m=e("./util").longestPath,v=e("../graphlib").alg.preorder,b=e("../graphlib").alg.postorder,A=e("../util").simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=s,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(e,t){"use strict";function r(e){function t(n){var a=e.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var u=i.min(i.map(e.outEdges(n),function(r){return t(r.w)-e.edge(r).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var r={};i.each(e.sources(),t)}function n(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var i=e("../lodash");t.exports={longestPath:r,slack:n}},{"../lodash":36}],55:[function(e,t){"use strict";function r(e,t,r,n){var i;do i=y.uniqueId(n);while(e.hasNode(i));return r.dummy=t,e.setNode(i,r),i}function n(e){var t=(new m).setGraph(e.graph());return y.each(e.nodes(),function(r){t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),t}function i(e){var t=new m({multigraph:e.isMultigraph()}).setGraph(e.graph());return y.each(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),y.each(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function a(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function u(e){var t=y.map(e.nodes(),function(t){var r={};return y.each(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return y.zipObject(e.nodes(),t)}function o(e,t){var r=e.x,n=e.y,i=t.x-r,a=t.y-n,u=e.width/2,o=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:r+s,y:n+c}}function s(e){var t=y.map(y.range(d(e)+1),function(){return[]});return y.each(e.nodes(),function(r){var n=e.node(r),i=n.rank;y.isUndefined(i)||(t[i][n.order]=r)}),t}function c(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank}));y.each(e.nodes(),function(r){var n=e.node(r);y.has(n,"rank")&&(n.rank-=t)})}function l(e){var t=y.min(y.map(e.nodes(),function(t){return e.node(t).rank})),r=[];y.each(e.nodes(),function(n){var i=e.node(n).rank-t;y.has(r,i)||(r[i]=[]),r[i].push(n)});var n=0,i=e.graph().nodeRankFactor;y.each(r,function(t,r){y.isUndefined(t)&&r%i!==0?--n:n&&y.each(t,function(t){e.node(t).rank+=n})})}function h(e,t,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,"border",a,t)}function d(e){return y.max(y.map(e.nodes(),function(t){var r=e.node(t).rank;return y.isUndefined(r)?void 0:r}))}function p(e,t){var r={lhs:[],rhs:[]};return y.each(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r}function f(e,t){var r=y.now();try{return t()}finally{console.log(e+" time: "+(y.now()-r)+"ms")}}function g(e,t){return t()}var y=e("./lodash"),m=e("./graphlib").Graph;t.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:p,time:f,notime:g}},{"./graphlib":33,"./lodash":36}],56:[function(e,t){t.exports="0.6.4"},{}],57:[function(e,t){var r=e("./lib");t.exports={Graph:r.Graph,json:e("./lib/json"),alg:e("./lib/alg"),version:r.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(e,t){function r(e){function t(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(e.successors(a),t),n.each(e.predecessors(a),t))}var r,i={},a=[];return n.each(e.nodes(),function(e){r=[],t(e),r.length&&a.push(r)}),a}var n=e("../lodash");t.exports=r},{"../lodash":75}],59:[function(e,t){function r(e,t,r){i.isArray(t)||(t=[t]);var a=[],u={};return i.each(t,function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);n(e,t,"post"===r,u,a)}),a}function n(e,t,r,a,u){i.has(a,t)||(a[t]=!0,r||u.push(t),i.each(e.neighbors(t),function(t){n(e,t,r,a,u)}),r&&u.push(t))}var i=e("../lodash");t.exports=r},{"../lodash":75}],60:[function(e,t){function r(e,t,r){return i.transform(e.nodes(),function(i,a){i[a]=n(e,a,t,r)},{})}var n=e("./dijkstra"),i=e("../lodash");t.exports=r},{"../lodash":75,"./dijkstra":61}],61:[function(e,t){function r(e,t,r,i){return n(e,String(t),r||u,i||function(t){return e.outEdges(t)})}function n(e,t,r,n){var i,u,o={},s=new a,c=function(e){var t=e.v!==i?e.v:e.w,n=o[t],a=r(e),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return o}var i=e("../lodash"),a=e("../data/priority-queue");t.exports=r;var u=i.constant(1)},{"../data/priority-queue":71,"../lodash":75}],62:[function(e,t){function r(e){return n.filter(i(e),function(e){return e.length>1})}var n=e("../lodash"),i=e("./tarjan");t.exports=r},{"../lodash":75,"./tarjan":69}],63:[function(e,t){function r(e,t,r){return n(e,t||a,r||function(t){return e.outEdges(t)})}function n(e,t,r){var n={},i=e.nodes();return i.forEach(function(e){n[e]={},n[e][e]={distance:0},i.forEach(function(t){e!==t&&(n[e][t]={distance:Number.POSITIVE_INFINITY})}),r(e).forEach(function(r){var i=r.v===e?r.w:r.v,a=t(r);n[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=n[e];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[e],i=t[r],u=a[r],o=n.distance+i.distance;oi&&(s[r]=u,c.decrease(r,i))}}var u,o=new i,s={},c=new a;if(0===e.nodeCount())return o;n.each(e.nodes(),function(e){c.add(e,Number.POSITIVE_INFINITY),o.setNode(e)}),c.decrease(e.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),n.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(u).forEach(r)}return o}var n=e("../lodash"),i=e("../graph"),a=e("../data/priority-queue");t.exports=r},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(e,t){function r(e){function t(o){var s=a[o]={onStack:!0,lowlink:r,index:r++};if(i.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(s.lowlink=Math.min(s.lowlink,a[e].index)):(t(e),s.lowlink=Math.min(s.lowlink,a[e].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var r=0,i=[],a={},u=[];return e.nodes().forEach(function(e){n.has(a,e)||t(e)}),u}var n=e("../lodash");t.exports=r},{"../lodash":75}],70:[function(e,t){function r(e){function t(o){if(i.has(a,o))throw new n;i.has(r,o)||(a[o]=!0,r[o]=!0,i.each(e.predecessors(o),t),delete a[o],u.push(o))}var r={},a={},u=[];if(i.each(e.sinks(),t),i.size(r)!==e.nodeCount())throw new n;return u}function n(){}var i=e("../lodash");t.exports=r,r.CycleException=n},{"../lodash":75}],71:[function(e,t){function r(){this._arr=[],this._keyIndices={}}var n=e("../lodash");t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(e){return e.key})},r.prototype.has=function(e){return n.has(this._keyIndices,e)},r.prototype.priority=function(e){var t=this._keyIndices[e];return void 0!==t?this._arr[t].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var i=this._arr,a=i.length;return r[e]=a,i.push({key:e,priority:t}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},r.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},r.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,i=e;r>1,!(r[t].priorityr){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(){var e,t,r,i,o=!1;s.isPlainObject(arguments[0])?(e=arguments[0].v,t=arguments[0].w,r=arguments[0].name,2===arguments.length&&(i=arguments[1],o=!0)):(e=arguments[0],t=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,t=""+t,s.isUndefined(r)||(r=""+r);var c=a(this._isDirected,e,t,r);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=i),this;if(!s.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?i:this._defaultEdgeLabelFn(e,t,r);var l=u(this._isDirected,e,t,r);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n];return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":75}],73:[function(e,t){t.exports={Graph:e("./graph"),version:e("./version")}},{"./graph":72,"./version":76}],74:[function(e,t){function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:n(e),edges:i(e)};return u.isUndefined(e.graph())||(t.value=u.clone(e.graph())),t}function n(e){return u.map(e.nodes(),function(t){var r=e.node(t),n=e.parent(t),i={v:t};return u.isUndefined(r)||(i.value=r),u.isUndefined(n)||(i.parent=n),i})}function i(e){return u.map(e.edges(),function(t){var r=e.edge(t),n={v:t.v,w:t.w};return u.isUndefined(t.name)||(n.name=t.name),u.isUndefined(r)||(n.value=r),n})}function a(e){var t=new o(e.options).setGraph(e.value);return u.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),u.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var u=e("./lodash"),o=e("./graph");t.exports={write:r,read:a}},{"./graph":72,"./lodash":75}],75:[function(e,t){t.exports=e(20)},{lodash:101}],76:[function(e,t){t.exports="1.0.1"},{}],77:[function(e,t,r){arguments[4][57][0].apply(r,arguments)},{"./lib":93,"./lib/alg":84,"./lib/json":94}],78:[function(e,t){t.exports=e(58)},{"../lodash":95}],79:[function(e,t){t.exports=e(59)},{"../lodash":95}],80:[function(e,t){t.exports=e(60)},{"../lodash":95,"./dijkstra":81}],81:[function(e,t){t.exports=e(61)},{"../data/priority-queue":91,"../lodash":95}],82:[function(e,t){t.exports=e(62)},{"../lodash":95,"./tarjan":89}],83:[function(e,t){t.exports=e(63)},{"../lodash":95}],84:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{"./components":78,"./dijkstra":81,"./dijkstra-all":80,"./find-cycles":82,"./floyd-warshall":83,"./is-acyclic":85,"./postorder":86,"./preorder":87,"./prim":88,"./tarjan":89,"./topsort":90}],85:[function(e,t){t.exports=e(65)},{"./topsort":90}],86:[function(e,t){t.exports=e(66)},{"./dfs":79}],87:[function(e,t){t.exports=e(67)},{"./dfs":79}],88:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"../data/priority-queue":91,"../graph":92,"../lodash":95}],89:[function(e,t){t.exports=e(69)},{"../lodash":95}],90:[function(e,t){t.exports=e(70)},{"../lodash":95}],91:[function(e,t){t.exports=e(71)},{"../lodash":95}],92:[function(e,t){"use strict";function r(e){this._isDirected=s.has(e,"directed")?e.directed:!0,this._isMultigraph=s.has(e,"multigraph")?e.multigraph:!1,this._isCompound=s.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function n(e,t){s.has(e,t)?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}return t+h+r+h+(s.isUndefined(n)?c:n)}function u(e,t,r,n){if(!e&&t>r){var i=t;t=r,r=i}var a={v:t,w:r};return n&&(a.name=n),a}function o(e,t){return a(e,t.v,t.w,t.name)}var s=e("./lodash");t.exports=r;var c="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(e){return this._label=e,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultNodeLabelFn=e,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return s.keys(this._nodes)},r.prototype.sources=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._in[e])},this)},r.prototype.sinks=function(){return s.filter(this.nodes(),function(e){return s.isEmpty(this._out[e])},this)},r.prototype.setNodes=function(e,t){var r=arguments;return s.each(e,function(e){r.length>1?this.setNode(e,t):this.setNode(e)},this),this},r.prototype.setNode=function(e,t){return s.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=l,this._children[e]={},this._children[l][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},r.prototype.node=function(e){return this._nodes[e]},r.prototype.hasNode=function(e){return s.has(this._nodes,e)},r.prototype.removeNode=function(e){var t=this;if(s.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.each(this.children(e),function(e){this.setParent(e)},this),delete this._children[e]),s.each(s.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],s.each(s.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},r.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(t))t=l;else{for(var r=t;!s.isUndefined(r);r=this.parent(r))if(r===e)throw new Error("Setting "+t+" as parent of "+e+" would create create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},r.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},r.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==l)return t}},r.prototype.children=function(e){if(s.isUndefined(e)&&(e=l),this._isCompound){var t=this._children[e];if(t)return s.keys(t)}else{if(e===l)return this.nodes();if(this.hasNode(e))return[]}},r.prototype.predecessors=function(e){var t=this._preds[e];return t?s.keys(t):void 0},r.prototype.successors=function(e){var t=this._sucs[e];return t?s.keys(t):void 0},r.prototype.neighbors=function(e){var t=this.predecessors(e);return t?s.union(t,this.successors(e)):void 0},r.prototype.setDefaultEdgeLabel=function(e){return s.isFunction(e)||(e=s.constant(e)),this._defaultEdgeLabelFn=e,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return s.values(this._edgeObjs)},r.prototype.setPath=function(e,t){var r=this,n=arguments;return s.reduce(e,function(e,i){return n.length>1?r.setEdge(e,i,t):r.setEdge(e,i),i}),this},r.prototype.setEdge=function(e,t,r,i){var o=arguments.length>2;e=String(e),t=String(t),s.isUndefined(i)||(i=String(i)),s.isPlainObject(arguments[0])&&(e=arguments[0].v,t=arguments[0].w,i=arguments[0].name,2===arguments.length&&(r=arguments[1],o=!0));var c=a(this._isDirected,e,t,i);if(s.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=r),this;if(!s.isUndefined(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=o?r:this._defaultEdgeLabelFn(e,t,i);var l=u(this._isDirected,e,t,i);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[c]=l,n(this._preds[t],e),n(this._sucs[e],t),this._in[t][c]=l,this._out[e][c]=l,this._edgeCount++,this},r.prototype.edge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return this._edgeLabels[n]},r.prototype.hasEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r);return s.has(this._edgeLabels,n)},r.prototype.removeEdge=function(e,t,r){var n=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,e,t,r),u=this._edgeObjs[n]; return u&&(e=u.v,t=u.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},r.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.v===t}):n}},r.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var n=s.values(r);return t?s.filter(n,function(e){return e.w===t}):n}},r.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);return r?r.concat(this.outEdges(e,t)):void 0}},{"./lodash":95}],93:[function(e,t,r){arguments[4][73][0].apply(r,arguments)},{"./graph":92,"./version":96}],94:[function(e,t,r){arguments[4][74][0].apply(r,arguments)},{"./graph":92,"./lodash":95}],95:[function(e,t){t.exports=e(20)},{lodash:101}],96:[function(e,t){t.exports="0.9.1"},{}],97:[function(){},{}],98:[function(e,t,r){(function(e){function t(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var u=a>=0?arguments[a]:e.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(r=u+"/"+r,i="/"===u.charAt(0))}return r=t(n(r.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(e){var i=r.isAbsolute(e),a="/"===u(e,-1);return e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(n(e,function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,t){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=r.resolve(e).substr(1),t=r.resolve(t).substr(1);for(var i=n(e.split("/")),a=n(t.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;st&&(t=e.length+t),e.substr(t,r)}}).call(this,e("1YiZ5S"))},{"1YiZ5S":99}],99:[function(e,t){function r(){}var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=r,n.addListener=r,n.once=r,n.off=r,n.removeListener=r,n.removeAllListeners=r,n.emit=r,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],100:[function(e,t,r){(function(e){!function(n){var i="object"==typeof r&&r,a="object"==typeof t&&t&&t.exports==i&&t,u="object"==typeof e&&e;(u.global===u||u.window===u)&&(n=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","𝔄":"Afr","𝔞":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","𝔸":"Aopf","𝕒":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","𝒜":"Ascr","𝒶":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","𝔅":"Bfr","𝔟":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","𝔹":"Bopf","𝕓":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","𝒷":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","𝔠":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","𝕔":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","𝒞":"Cscr","𝒸":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","𝔇":"Dfr","𝔡":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","𝔻":"Dopf","𝕕":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","𝒟":"Dscr","𝒹":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","𝔈":"Efr","𝔢":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","𝔼":"Eopf","𝕖":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","𝔉":"Ffr","𝔣":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","𝔽":"Fopf","𝕗":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","𝒻":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","𝔊":"Gfr","𝔤":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","𝔾":"Gopf","𝕘":"gopf","⪢":"GreaterGreater","≳":"gsim","𝒢":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","𝔥":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","𝕙":"hopf","ℍ":"Hopf","―":"horbar","𝒽":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","𝔦":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","𝕀":"Iopf","𝕚":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","𝒾":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","𝔍":"Jfr","𝔧":"jfr","ȷ":"jmath","𝕁":"Jopf","𝕛":"jopf","𝒥":"Jscr","𝒿":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","𝔎":"Kfr","𝔨":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","𝕂":"Kopf","𝕜":"kopf","𝒦":"Kscr","𝓀":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","𝔏":"Lfr","𝔩":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","𝕃":"Lopf","𝕝":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","𝓁":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","𝔐":"Mfr","𝔪":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","𝕄":"Mopf","𝕞":"mopf","𝓂":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","𝔑":"Nfr","𝔫":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","𝕟":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","𝒩":"Nscr","𝓃":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","𝔒":"Ofr","𝔬":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","𝕆":"Oopf","𝕠":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","𝒪":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","𝔓":"Pfr","𝔭":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","𝕡":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","𝒫":"Pscr","𝓅":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","𝔔":"Qfr","𝔮":"qfr","𝕢":"qopf","ℚ":"Qopf","⁗":"qprime","𝒬":"Qscr","𝓆":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","𝔯":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","𝕣":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","𝓇":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron","⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","𝔖":"Sfr","𝔰":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","𝕊":"Sopf","𝕤":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","𝒮":"Sscr","𝓈":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig"," ":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","𝔗":"Tfr","𝔱":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","𝕋":"Topf","𝕥":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","𝒯":"Tscr","𝓉":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","𝔘":"Ufr","𝔲":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","𝕌":"Uopf","𝕦":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","𝒰":"Uscr","𝓊":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","𝔙":"Vfr","𝔳":"vfr","𝕍":"Vopf","𝕧":"vopf","𝒱":"Vscr","𝓋":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","𝔚":"Wfr","𝔴":"wfr","𝕎":"Wopf","𝕨":"wopf","𝒲":"Wscr","𝓌":"wscr","𝔛":"Xfr","𝔵":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","𝕏":"Xopf","𝕩":"xopf","𝒳":"Xscr","𝓍":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","𝔜":"Yfr","𝔶":"yfr","Ї":"YIcy","ї":"yicy","𝕐":"Yopf","𝕪":"yopf","𝒴":"Yscr","𝓎":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","𝔷":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","𝕫":"zopf","𝒵":"Zscr","𝓏":"zscr","‍":"zwj","‌":"zwnj"},d=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},A=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],E=String.fromCharCode,x={},w=x.hasOwnProperty,_=function(e,t){return w.call(e,t) -},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.1",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} -},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1];break; -case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$="yo";break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; +},D=function(e,t){for(var r=-1,n=e.length;++r=55296&&57343>=e||e>1114111?(t&&B("character reference outside the permissible Unicode range"),"�"):_(b,e)?(t&&B("disallowed character reference"),b[e]):(t&&D(A,e)&&B("disallowed character reference"),e>65535&&(e-=65536,r+=E(e>>>10&1023|55296),e=56320|1023&e),r+=E(e))},F=function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"},B=function(e){throw Error("Parse error: "+e)},T=function(e,t){t=k(t,T.options);var r=t.strict;r&&g.test(e)&&B("forbidden code point");var n=t.encodeEverything,i=t.useNamedReferences,a=t.allowUnsafeSymbols;return n?(e=e.replace(s,function(e){return i&&_(h,e)?"&"+h[e]+";":F(e)}),i&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),i&&(e=e.replace(l,function(e){return"&"+h[e]+";"}))):i?(a||(e=e.replace(d,function(e){return"&"+h[e]+";"})),e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),e=e.replace(l,function(e){return"&"+h[e]+";"})):a||(e=e.replace(d,F)),e.replace(o,function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=1024*(t-55296)+r-56320+65536;return"&#x"+n.toString(16).toUpperCase()+";"}).replace(c,F)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var S=function(e,t){t=k(t,S.options);var r=t.strict;return r&&f.test(e)&&B("malformed character reference"),e.replace(y,function(e,n,i,a,u,o,s,c){var l,h,d,p,f;return n?(l=n,h=i,r&&!h&&B("character reference was not terminated by a semicolon"),C(l,r)):a?(d=a,h=u,r&&!h&&B("character reference was not terminated by a semicolon"),l=parseInt(d,16),C(l,r)):o?(p=o,_(m,p)?m[p]:(r&&B("named character reference was not terminated by a semicolon"),e)):(p=s,f=c,f&&t.isAttributeValue?(r&&"="==f&&B("`&` did not start a character reference"),e):(r&&B("named character reference was not terminated by a semicolon"),v[p]+(f||"")))})};S.options={isAttributeValue:!1,strict:!1};var L=function(e){return e.replace(d,function(e){return p[e]})},N={version:"0.5.0",encode:T,decode:S,escape:L,unescape:S};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return N});else if(i&&!i.nodeType)if(a)a.exports=N;else for(var O in N)_(N,O)&&(i[O]=N[O]);else n.he=N}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],101:[function(e,t,r){(function(e){(function(){function n(e,t,r){for(var n=(r||0)-1,i=e?e.length:0;++n-1?0:-1:e?0:-1}function a(e){var t=this.cache,r=typeof e;if("boolean"==r||null==e)t[e]=!0;else{"number"!=r&&"string"!=r&&(r="object");var n="number"==r?e:A+e,i=t[r]||(t[r]={});"object"==r?(i[n]||(i[n]=[])).push(e):i[n]=!0}}function u(e){return e.charCodeAt(0)}function o(e,t){for(var r=e.criteria,n=t.criteria,i=-1,a=r.length;++io||"undefined"==typeof u)return 1;if(o>u||"undefined"==typeof o)return-1}}return e.index-t.index}function s(e){var t=-1,r=e.length,n=e[0],i=e[r/2|0],u=e[r-1];if(n&&"object"==typeof n&&i&&"object"==typeof i&&u&&"object"==typeof u)return!1;var o=h();o["false"]=o["null"]=o["true"]=o.undefined=!1;var s=h();for(s.array=e,s.cache=o,s.push=a;++ti?0:i);++n=E&&a===n,c=[];if(o){var l=s(t);l?(a=i,t=l):o=!1}for(;++r-1:void 0});return i.pop(),a.pop(),v&&(d(i),d(a)),u}function tt(e,t,r,n,i){(Jn(t)?Zt:si)(t,function(t,a){var u,o,s=t,c=e[a];if(t&&((o=Jn(t))||ci(t))){for(var l=n.length;l--;)if(u=n[l]==t){c=i[l];break}if(!u){var h;r&&(s=r(c,t),(h="undefined"!=typeof s)&&(c=s)),h||(c=o?Jn(c)?c:[]:ci(c)?c:{}),n.push(t),i.push(c),h||tt(c,t,r,n,i)}}else r&&(s=r(c,t),"undefined"==typeof s&&(s=t)),"undefined"!=typeof s&&(c=s);e[a]=c})}function nt(e,t){return e+Sn(Wn()*(t-e+1))}function it(e,t,r){var a=-1,u=st(),o=e?e.length:0,c=[],h=!t&&o>=E&&u===n,f=r||h?l():c;if(h){var g=s(f);u=i,f=g}for(;++a3&&"function"==typeof t[r-2])var n=x(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(n=t[--r]);for(var i=f(arguments,1,r),a=-1,u=l(),o=l();++ar?Hn(0,a+r):r)||0,Jn(e)?u=i(e,t,r)>-1:"number"==typeof a?u=(Rt(e)?e.indexOf(t,r):i(e,t,r))>-1:si(e,function(e){return++n>=r?!(u=e===t):void 0}),u}function Yt(e,r,n){var i=!0;r=t.createCallback(r,n,3);var a=-1,u=e?e.length:0;if("number"==typeof u)for(;++aa&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);u>i&&(i=u,a=e)});return a}function tr(e,r,n){var i=1/0,a=i;if("function"!=typeof r&&n&&n[r]===e&&(r=null),null==r&&Jn(e))for(var o=-1,s=e.length;++oc&&(a=c)}else r=null==r&&Rt(e)?u:t.createCallback(r,n,3),Zt(e,function(e,t,n){var u=r(e,t,n);i>u&&(i=u,a=e)});return a}function rr(e,r,n,i){if(!e)return n;var a=arguments.length<3;r=t.createCallback(r,i,4);var u=-1,o=e.length;if("number"==typeof o)for(a&&(n=e[++u]);++ur?Hn(0,i+r):r||0}else if(r){var a=kr(e,t);return e[a]===t?a:-1}return n(e,t,r)}function vr(e,r,n){var i=0,a=e?e.length:0;if("number"!=typeof r&&null!=r){var u=a;for(r=t.createCallback(r,n,3);u--&&r(e[u],u,e);)i++}else i=null==r||n?1:r||i;return f(e,0,Yn(Hn(0,a-i),a))}function br(){for(var e=[],t=-1,r=arguments.length,a=l(),u=st(),o=u===n,c=l();++t=E&&s(t?e[t]:c)))}var f=e[0],g=-1,y=f?f.length:0,m=[];e:for(;++gr?Hn(0,n+r):Yn(r,n-1))+1);n--;)if(e[n]===t)return n;return-1}function xr(e){for(var t=arguments,r=0,n=t.length,i=e?e.length:0;++ra;){var o=a+u>>>1;n(e[o])1?arguments:arguments[0],t=-1,r=e?er(pi(e,"length")):0,n=fn(0>r?0:r);++t2?ut(e,17,f(arguments,2),null,t):ut(e,1,null,null,t)}function Rr(e){for(var t=arguments.length>1?Q(arguments,!0,!1,1):At(e),r=-1,n=t.length;++r2?ut(t,19,f(arguments,2),null,e):ut(t,3,null,null,e)}function qr(){for(var e=arguments,t=e.length;t--;)if(!Bt(e[t]))throw new wn;return function(){for(var t=arguments,r=e.length;r--;)t=[e[r].apply(this,t)];return t[0]}}function Pr(e,t){return t="number"==typeof t?t:+t||e.length,ut(e,4,null,null,null,t)}function Mr(e,t,r){var n,i,a,u,o,s,c,l=0,h=!1,d=!0;if(!Bt(e))throw new wn;if(t=Hn(0,t)||0,r===!0){var p=!0;d=!1}else Tt(r)&&(p=r.leading,h="maxWait"in r&&(Hn(t,r.maxWait)||0),d="trailing"in r?r.trailing:d);var f=function(){var r=t-(gi()-u);if(0>=r){i&&Tn(i);var h=c;i=s=c=y,h&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))}else s=In(f,r)},g=function(){s&&Tn(s),i=s=c=y,(d||h!==t)&&(l=gi(),a=e.apply(o,n),s||i||(n=o=null))};return function(){if(n=arguments,u=gi(),o=this,c=d&&(s||!p),h===!1)var r=p&&!s;else{i||p||(l=u);var y=h-(u-l),m=0>=y;m?(i&&(i=Tn(i)),l=u,a=e.apply(o,n)):i||(i=In(g,y))}return m&&s?s=Tn(s):s||t===h||(s=In(f,t)),r&&(m=!0,a=e.apply(o,n)),!m||s||i||(n=o=null),a}}function jr(e){if(!Bt(e))throw new wn;var t=f(arguments,1);return In(function(){e.apply(y,t)},1)}function Vr(e,t){if(!Bt(e))throw new wn;var r=f(arguments,2);return In(function(){e.apply(y,r)},t)}function Ur(e,t){if(!Bt(e))throw new wn;var r=function(){var n=r.cache,i=t?t.apply(this,arguments):A+arguments[0];return On.call(n,i)?n[i]:n[i]=e.apply(this,arguments)};return r.cache={},r}function Gr(e){var t,r;if(!Bt(e))throw new wn;return function(){return t?r:(t=!0,r=e.apply(this,arguments),e=null,r)}}function $r(e){return ut(e,16,f(arguments,1))}function Hr(e){return ut(e,32,null,f(arguments,1))}function Yr(e,t,r){var n=!0,i=!0;if(!Bt(e))throw new wn;return r===!1?n=!1:Tt(r)&&(n="leading"in r?r.leading:n,i="trailing"in r?r.trailing:i),z.leading=n,z.maxWait=t,z.trailing=i,Mr(e,t,z)}function zr(e,t){return ut(t,16,[e])}function Wr(e){return function(){return e}}function Kr(e,t,r){var n=typeof e;if(null==e||"function"==n)return x(e,t,r);if("object"!=n)return tn(e);var i=ei(e),a=i[0],u=e[a];return 1!=i.length||u!==u||Tt(u)?function(t){for(var r=i.length,n=!1;r--&&(n=et(t[i[r]],e[i[r]],null,!0)););return n}:function(e){var t=e[a];return u===t&&(0!==u||1/u==1/t)}}function Zr(e){return null==e?"":xn(e).replace(ii,ot)}function Xr(e){return e}function Jr(e,n,i){var a=!0,u=n&&At(n);n&&(i||u.length)||(null==i&&(i=n),o=r,n=e,e=t,u=At(n)),i===!1?a=!1:Tt(i)&&"chain"in i&&(a=i.chain);var o=e,s=Bt(o);Zt(u,function(t){var r=e[t]=n[t];s&&(o.prototype[t]=function(){var t=this.__chain__,n=this.__wrapped__,i=[n];Rn.apply(i,arguments);var u=r.apply(e,i);if(a||t){if(n===u&&Tt(u))return this;u=new o(u),u.__chain__=t}return u})})}function Qr(){return e._=kn,this}function en(){}function tn(e){return function(t){return t[e]}}function rn(e,t,r){var n=null==e,i=null==t;if(null==r&&("boolean"==typeof e&&i?(r=e,e=1):i||"boolean"!=typeof t||(r=t,i=!0)),n&&i&&(t=1),e=+e||0,i?(t=e,e=0):t=+t||0,r||e%1||t%1){var a=Wn();return Yn(e+a*(t-e+parseFloat("1e-"+((a+"").length-1))),t)}return nt(e,t)}function nn(e,t){if(e){var r=e[t];return Bt(r)?e[t]():r}}function an(e,r,n){var i=t.templateSettings;e=xn(e||""),n=ui({},n,i);var a,u=ui({},n.imports,i.imports),o=ei(u),s=Gt(u),l=0,h=n.interpolate||L,d="__p += '",p=En((n.escape||L).source+"|"+h.source+"|"+(h===T?C:L).source+"|"+(n.evaluate||L).source+"|$","g");e.replace(p,function(t,r,n,i,u,o){return n||(n=i),d+=e.slice(l,o).replace(O,c),r&&(d+="' +\n__e("+r+") +\n'"),u&&(a=!0,d+="';\n"+u+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),d+="';\n";var f=n.variable,g=f;g||(f="obj",d="with ("+f+") {\n"+d+"\n}\n"),d=(a?d.replace(_,""):d).replace(D,"$1").replace(k,"$1;"),d="function("+f+") {\n"+(g?"":f+" || ("+f+" = {});\n")+"var __t, __p = '', __e = _.escape"+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+I++ +"]")+"\n*/";try{var v=mn(o,"return "+d+m).apply(y,s)}catch(b){throw b.source=d,b}return r?v(r):(v.source=d,v)}function un(e,t,r){e=(e=+e)>-1?e:0;var n=-1,i=fn(e);for(t=x(t,r,1);++n/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:T,variable:"",imports:{_:t}},jn||(v=function(){function t(){}return function(r){if(Tt(r)){t.prototype=r;var n=new t;t.prototype=null}return n||e.Object()}}());var Xn=Mn?function(e,t){W.value=t,Mn(e,"__bindData__",W)}:en,Jn=Vn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Cn.call(e)==P||!1},Qn=function(e){var t,r=e,n=[];if(!r)return n;if(!K[typeof e])return n;for(t in r)On.call(r,t)&&n.push(t);return n},ei=$n?function(e){return Tt(e)?$n(e):[]}:Qn,ti={"&":"&","<":"<",">":">",'"':""","'":"'"},ri=xt(ti),ni=En("("+ei(ri).join("|")+")","g"),ii=En("["+ei(ti).join("")+"]","g"),ai=function(e,t,r){var n,i=e,a=i;if(!i)return a;var u=arguments,o=0,s="number"==typeof r?2:u.length;if(s>3&&"function"==typeof u[s-2])var c=x(u[--s-1],u[s--],2);else s>2&&"function"==typeof u[s-1]&&(c=u[--s]);for(;++o/g,S=RegExp("^["+w+"]*0+(?=.$)"),L=/($^)/,N=/\bthis\b/,O=/['\n\r\t\u2028\u2029\\]/g,R=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],I=0,q="[object Arguments]",P="[object Array]",M="[object Boolean]",j="[object Date]",V="[object Function]",U="[object Number]",G="[object Object]",$="[object RegExp]",H="[object String]",Y={};Y[V]=!1,Y[q]=Y[P]=Y[M]=Y[j]=Y[U]=Y[G]=Y[$]=Y[H]=!0;var z={leading:!1,maxWait:0,trailing:!1},W={configurable:!1,enumerable:!1,value:null,writable:!1},K={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},X=K[typeof window]&&window||this,J=K[typeof r]&&r&&!r.nodeType&&r,Q=K[typeof t]&&t&&!t.nodeType&&t,et=Q&&Q.exports===J&&J,tt=K[typeof e]&&e;!tt||tt.global!==tt&&tt.window!==tt||(X=tt);var rt=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(X._=rt,define(function(){return rt})):J&&Q?et?(Q.exports=rt)._=rt:J._=rt:X._=rt}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],102:[function(e,t){t.exports={name:"mermaid",version:"0.3.2",description:"Markdownish syntax for generating flowcharts",main:"src/main.js",bin:{mermaid:"./bin/mermaid.js"},scripts:{test:"gulp test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"",license:"MIT",dependencies:{chalk:"^0.5.1","dagre-d3":"~0.3.2",he:"^0.5.0",minimist:"^1.1.0",mkdirp:"^0.5.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",d3:"~3.4.13","dagre-d3":"~0.3.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.8.9","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-ext-replace":"~0.1.0","gulp-hogan":"^1.1.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~1.0.1","gulp-jison":"~1.0.0","gulp-jshint":"^1.9.0","gulp-less":"^1.3.6","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1",he:"^0.5.0","hogan.js":"^3.0.2",jasmine:"~2.0.1",jison:"~0.4.15","jshint-stylish":"^1.0.0",karma:"~0.12.20","karma-chrome-launcher":"~0.1.5","karma-jasmine":"~0.2.1","karma-requirejs":"~0.2.2",lodash:"^2.4.1","lodash._escapestringchar":"^2.4.1","lodash._objecttypes":"^2.4.1","lodash._reinterpolate":"^2.4.1","lodash._reunescapedhtml":"^2.4.1","lodash.defaults":"^2.4.1","lodash.templatesettings":"^2.4.1","lodash.values":"^2.4.1",marked:"^0.3.2","mock-browser":"^0.90.27",path:"^0.4.9",phantomjs:"^1.9.12",rewire:"^2.1.3",rimraf:"^2.2.8","semantic-ui":"^1.4.1",tape:"^3.0.3"}} +},{}],103:[function(e,t,r){var n=e("./graphDb"),i=e("./parser/flow"),a=e("./parser/dot"),u=e("dagre-d3");r.addVertices=function(e,t){var r=Object.keys(e),n=function(e,t){var r;for(r=0;r0&&(u=a.classes.join(" "));var o="";o=n(o,a.styles),i="undefined"==typeof a.text?a.id:a.text,console.log(i);var s=0,c="";switch(a.type){case"round":s=5,c="rect";break;case"square":c="rect";break;case"diamond":c="question";break;case"odd":c="rect_left_inv_arrow";break;case"circle":c="circle";break;default:c="rect"}t.setNode(a.id,{labelType:"html",shape:c,label:i,rx:s,ry:s,"class":u,style:o,id:a.id})})},r.addEdges=function(e,t){var r,n=0;e.forEach(function(e){n++,r="arrow_open"===e.type?"none":"normal";var i="";if("undefined"!=typeof e.style)e.style.forEach(function(e){i=i+e+";"});else switch(e.stroke){case"normal":i="stroke: #333; stroke-width: 1.5px;fill:none";break;case"dotted":i="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":i="stroke: #333; stroke-width: 3.5px;fill:none"}"undefined"==typeof e.text?"undefined"==typeof e.style?t.setEdge(e.start,e.end,{style:i,arrowhead:r},n):t.setEdge(e.start,e.end,{style:i,arrowheadStyle:"fill: #333",arrowhead:r},n):"undefined"==typeof e.style?t.setEdge(e.start,e.end,{labelType:"html",style:i,labelpos:"c",label:''+e.text+"",arrowheadStyle:"fill: #333",arrowhead:r},n):t.setEdge(e.start,e.end,{labelType:"html",style:i,arrowheadStyle:"fill: #333",label:e.text,arrowhead:r},n)})},r.getClasses=function(e,t){var r;n.clear(),r=t?a.parser:i.parser,r.yy=n,r.parse(e);var u=n.getClasses();return"undefined"==typeof u.default&&(u.default={id:"default"},u.default.styles=["fill:#eaeaea","stroke:#666","stroke-width:1.5px"]),u},r.draw=function(e,t,o){var s;n.clear(),s=o?a.parser:i.parser,s.yy=n,s.parse(e);var c;c=n.getDirection(),"undefined"==typeof c&&(c="TD");var l=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),h=n.getSubGraphs(),d=0;h.forEach(function(){d+=1;var e="subG"+d;n.addVertex(e,void 0,void 0,void 0)});var p=n.getVertices(),f=n.getEdges();d=0,h.forEach(function(e){d+=1;var t="subG"+d;d3.selectAll("cluster").append("text"),e.nodes.forEach(function(e){l.setParent(e,t)})}),r.addVertices(p,l),r.addEdges(f,l);var g=new u.render;g.shapes().question=function(e,t,r){var n=t.width,i=t.height,a=.8*(n+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=e.insert("polygon",":first-child").attr("points",o.map(function(e){return e.x+","+e.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return r.intersect=function(e){return u.intersect.polygon(r,o,e)},s},g.shapes().rect_left_inv_arrow=function(e,t,r){var n=t.width,i=t.height,a=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=e.insert("polygon",":first-child").attr("points",a.map(function(e){return e.x+","+e.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(e){return u.intersect.polygon(r,a,e)},o},g.arrows().none=function(e,t,r,n){var i=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,r[n+"Style"])};var y=d3.select("#"+t);svgGroup=d3.select("#"+t+" g"),g(d3.select("#"+t+" g"),l);var m=document.querySelector("#mermaidChart0");y.attr("height",l.graph().height),y.attr("width",l.graph().width),y.attr("viewBox",m.getBBox().x+" 0 "+l.graph().width+" "+l.graph().height),setTimeout(function(){console.log("Fixing titles");var e=0;h.forEach(function(r){console.log("Setting id "+t);var n=document.querySelectorAll("#"+t+" .clusters rect"),i=document.querySelectorAll("#"+t+" .cluster");if("undefined"!==r.title){console.log(n[e]);var a=n[e].x.baseVal.value,u=n[e].y.baseVal.value,o=n[e].width.baseVal.value,s=d3.select(i[e]),c=s.append("text");c.attr("x",a+o/2),c.attr("y",u+14),c.attr("fill","black"),c.attr("stroke","none"),c.attr("id",t+"Text"),c.style("text-anchor","middle"),console.log("Title "+r.title),console.log("i",e),console.log("x"+a+o/2),console.log("y"+a),c.text(r.title)}e+=1})},200)}},{"./graphDb":104,"./parser/dot":105,"./parser/flow":106,"dagre-d3":1}],104:[function(require,module,exports){var vertices={},edges=[],classes=[],subGraphs=[],direction,funs=[];exports.addVertex=function(e,t,r,n){"undefined"!=typeof e&&0!==e.trim().length&&("undefined"==typeof vertices[e]&&(vertices[e]={id:e,styles:[],classes:[]}),"undefined"!=typeof t&&(vertices[e].text=t),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof r&&(vertices[e].type=r),"undefined"!=typeof n&&null!==n&&n.forEach(function(t){vertices[e].styles.push(t)}))},exports.addLink=function(e,t,r,n){var i={start:e,end:t,type:void 0,text:""};n=r.text,"undefined"!=typeof n&&(i.text=n),"undefined"!=typeof r&&(i.type=r.type,i.stroke=r.stroke),edges.push(i)},exports.updateLink=function(e,t){e.substr(1);edges[e].style=t},exports.addClass=function(e,t){"undefined"==typeof classes[e]&&(classes[e]={id:e,styles:[]}),"undefined"!=typeof t&&null!==t&&t.forEach(function(t){classes[e].styles.push(t)})},exports.setDirection=function(e){direction=e},exports.setClass=function(e,t){e.indexOf(",")>0?e.split(",").forEach(function(e){"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)}):"undefined"!=typeof vertices[e]&&vertices[e].classes.push(t)},exports.setClickEvent=function(id,functionName){id.indexOf(",")>0?id.split(",").forEach(function(id2){"undefined"!=typeof vertices[id2]&&funs.push(function(){var elem=document.getElementById(id2);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id2+"')")})})}):"undefined"!=typeof vertices[id]&&funs.push(function(){var elem=document.getElementById(id);null!==elem&&(elem.onclick=function(){eval(functionName+"('"+id+"')")})})},exports.bindFunctions=function(){funs.forEach(function(e){e()})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes},exports.clear=function(){vertices={},classes={},edges=[],funs=[],subGraphs=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(e,t){function r(e){var t={"boolean":{},number:{},string:{}},r=[];return e.filter(function(e){var n=typeof e;return n in t?t[n].hasOwnProperty(e)?!1:t[n][e]=!0:r.indexOf(e)>=0?!1:r.push(e)})}var n=[];n=r(n.concat.apply(n,e)),subGraphs.push({nodes:n,title:t})},exports.getSubGraphs=function(){return subGraphs}},{}],105:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,5],n=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],d=[1,20],p=[1,21],f=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],b=[1,35],A=[1,36],E=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],x=[10,28],w=[10,28,37,57,58],_=[2,49],D=[1,45],k=[1,48],C=[1,49],F=[1,52],B=[2,65],T=[1,65],S=[1,66],L=[1,67],N=[1,68],O=[1,69],R=[1,70],I=[1,71],q=[1,72],P=[1,73],M=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="
";break;case 39:this.$="oy";break;case 40:n.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:n.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:n.addVertex(a[u-1]),this.$=a[u-1];break;case 49:n.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{6:23,12:r,13:n},t(g,[2,5]),t(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f}),t(E,[2,8]),t(E,[2,10]),t(E,[2,11]),t(E,[2,12]),t(E,[2,13]),t(E,[2,14]),t(E,[2,15]),t(E,[2,16]),t(E,[2,17]),t(E,[2,18]),t(E,[2,19]),t(E,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,41]},{10:[2,21],28:[1,42]},t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(w,_,{44:44,32:[1,43],45:D}),t(x,[2,27],{41:46,43:47,57:k,58:C}),t(x,[2,47],{43:47,34:50,41:51,37:F,57:k,58:C}),{34:53,37:F},{34:54,37:F},{34:55,37:F},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},t(E,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},t(w,[2,48]),t(w,B,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(x,[2,41],{34:74,37:F}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,33:76,42:75,47:A},t(M,[2,66]),t(M,[2,67]),t(x,[2,46]),t(x,[2,40],{34:78,37:F}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:79,39:[1,80]},t(x,[2,28]),t(x,[2,29]),t(x,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{5:[2,2]},{10:[2,22]},t(x,[2,26]),t(w,[2,51],{45:[1,86]}),t(w,[2,52]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(w,[2,59]),t(w,[2,60]),t(w,[2,61]),t(w,[2,62]),t(w,[2,63]),t(w,[2,64]),t(x,[2,38]),t(j,[2,44],{43:47,41:87,57:k,58:C}),t(j,[2,45],{43:47,41:88,57:k,58:C}),t(w,_,{44:44,45:D}),t(x,[2,39]),{39:[1,89]},t(x,[2,34],{34:90,37:F}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,27:26,29:27,30:28,31:29,33:31,35:v,36:b,42:32,47:A},{10:[1,93]},t(w,[2,55]),{10:[1,94]},t(w,B,{46:95,48:T,49:S,50:L,51:N,52:O,53:R,54:I,55:q,56:P}),t(j,[2,42]),t(j,[2,43]),t(x,[2,33],{34:96,37:F}),t(x,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f},{10:[1,98]},t(w,[2,54]),{5:[2,3]},t(w,[2,50]),t(x,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},t(w,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:d,25:p,26:f,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},U=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\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,42],inclusive:!0}}};return e}();return V.lexer=U,e.prototype=V,V.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],106:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[1,9,10,12,19,29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],n=[2,2],i=[1,9],a=[1,10],u=[1,11],o=[1,12],s=[1,20],c=[1,23],l=[1,24],h=[1,25],d=[1,26],p=[1,27],f=[1,32],g=[1,21],y=[1,34],m=[1,31],v=[1,33],b=[1,39],A=[1,38],E=[1,35],x=[1,36],w=[1,37],_=[1,9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],D=[29,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],k=[2,19],C=[1,51],F=[1,52],B=[1,50],T=[1,75],S=[1,67],L=[1,76],N=[1,63],O=[1,62],R=[1,77],I=[1,78],q=[1,68],P=[1,65],M=[1,64],j=[1,70],V=[1,71],U=[1,72],G=[1,73],$=[1,74],H=[9,10,19],Y=[1,85],z=[1,86],W=[1,87],K=[1,88],Z=[1,89],X=[1,90],J=[1,91],Q=[1,92],et=[1,93],tt=[1,94],rt=[1,95],nt=[1,96],it=[9,10,19,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],at=[9,10,12,15,19,36,38,40,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,76,79,81,82,84,85,87,88,89],ut=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],ot=[1,110],st=[1,113],ct=[1,111],lt=[9,10,12,19,29,32,67,68,69,70,71,76,77,79,81,82,84,85,87,88,89],ht=[9,10,11,12,13,15,16,19,29,32,37,39,41,44,47,49,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89],dt=[9,10,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],pt=[2,122],ft=[1,139],gt=[1,128],yt=[1,129],mt=[1,126],vt=[1,127],bt=[1,130],At=[1,131],Et=[1,135],xt=[1,136],wt=[1,134],_t=[1,137],Dt=[1,125],kt=[1,132],Ct=[1,133],Ft=[1,138],Bt=[76,79,81,82,84,85,87,88,89],Tt=[12,62,76,79,81,82,84,85,87,88,89],St=[1,164],Lt=[1,163],Nt=[9,11,12,13,15,16,19,29,32,36,37,38,39,40,41,44,47,49,50,51,52,53,62,67,68,69,70,71,76,79,81,82,84,85,87,88,89,90,91,92],Ot=[1,197],Rt=[1,194],It=[1,201],qt=[1,198],Pt=[1,195],Mt=[1,202],jt=[1,192],Vt=[1,193],Ut=[1,196],Gt=[1,199],$t=[1,200],Ht=[11,12,13,15,16,29,32,44,47,49,67,68,69,70,71,76,79,81,82,84,85,87,88,89],Yt=[1,217],zt=[9,10,19,79],Wt=[9,10,12,19,44,67,75,76,77,79,81,82,83,84,85],Kt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,spaceListNewline:7,statement:8,SEMI:9,EOF:10,GRAPH:11,SPACE:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,NEWLINE:19,spaceList:20,commentStatement:21,verticeStatement:22,separator:23,styleStatement:24,linkStyleStatement:25,classDefStatement:26,classStatement:27,clickStatement:28,subgraph:29,text:30,endStatement:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,DIAMOND_START:40,DIAMOND_STOP:41,alphaNumStatement:42,alphaNumToken:43,MINUS:44,linkStatement:45,arrowText:46,"--":47,"-.":48,"==":49,ARROW_POINT:50,ARROW_CIRCLE:51,ARROW_CROSS:52,ARROW_OPEN:53,DOTTED_ARROW_POINT:54,DOTTED_ARROW_CIRCLE:55,DOTTED_ARROW_CROSS:56,DOTTED_ARROW_OPEN:57,THICK_ARROW_POINT:58,THICK_ARROW_CIRCLE:59,THICK_ARROW_CROSS:60,THICK_ARROW_OPEN:61,PIPE:62,textToken:63,commentText:64,commentToken:65,keywords:66,STYLE:67,LINKSTYLE:68,CLASSDEF:69,CLASS:70,CLICK:71,textNoTags:72,textNoTagsToken:73,stylesOpt:74,HEX:75,NUM:76,PCT:77,style:78,COMMA:79,styleComponent:80,ALPHA:81,COLON:82,UNIT:83,BRKT:84,DOT:85,graphCodeTokens:86,PLUS:87,EQUALS:88,MULT:89,TAG_START:90,TAG_END:91,QUOTE:92,$accept:0,$end:1},terminals_:{2:"error",9:"SEMI",10:"EOF",11:"GRAPH",12:"SPACE",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",19:"NEWLINE",29:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"DIAMOND_START",41:"DIAMOND_STOP",44:"MINUS",47:"--",48:"-.",49:"==",50:"ARROW_POINT",51:"ARROW_CIRCLE",52:"ARROW_CROSS",53:"ARROW_OPEN",54:"DOTTED_ARROW_POINT",55:"DOTTED_ARROW_CIRCLE",56:"DOTTED_ARROW_CROSS",57:"DOTTED_ARROW_OPEN",58:"THICK_ARROW_POINT",59:"THICK_ARROW_CIRCLE",60:"THICK_ARROW_CROSS",61:"THICK_ARROW_OPEN",62:"PIPE",67:"STYLE",68:"LINKSTYLE",69:"CLASSDEF",70:"CLASS",71:"CLICK",75:"HEX",76:"NUM",77:"PCT",79:"COMMA",81:"ALPHA",82:"COLON",83:"UNIT",84:"BRKT",85:"DOT",87:"PLUS",88:"EQUALS",89:"MULT",90:"TAG_START",91:"TAG_END",92:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,2],[6,1],[6,1],[6,1],[4,4],[4,4],[4,4],[4,4],[4,4],[14,1],[14,1],[14,2],[7,2],[7,2],[7,1],[7,1],[20,2],[20,1],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,2],[8,6],[8,5],[31,1],[31,2],[23,1],[23,1],[23,1],[22,3],[22,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[42,1],[42,3],[34,2],[34,3],[34,1],[34,2],[34,5],[34,6],[34,5],[34,6],[34,5],[34,6],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,3],[30,1],[30,2],[64,1],[64,2],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[72,1],[72,2],[26,5],[27,5],[28,5],[24,5],[24,5],[25,5],[21,3],[74,1],[74,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[65,1],[65,1],[63,1],[63,1],[63,1],[63,1],[63,1],[73,1],[73,1],[73,1],[73,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[43,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:case 50:case 52:case 77:case 79:case 90:this.$=a[u];break;case 8:n.setDirection(a[u-1]),this.$=a[u-1];break;case 9:n.setDirection("LR"),this.$=a[u-1];break;case 10:n.setDirection("RL"),this.$=a[u-1];break;case 11:n.setDirection("BT"),this.$=a[u-1]; +break;case 12:n.setDirection("TB"),this.$=a[u-1];break;case 22:case 24:case 25:case 26:case 27:case 28:this.$=[];break;case 23:this.$=a[u-1];break;case 29:n.addSubGraph(a[u-2],a[u-4]);break;case 30:n.addSubGraph(a[u-2],void 0);break;case 36:n.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 37:this.$=[a[u]];break;case 38:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"square");break;case 39:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"square");break;case 40:this.$=a[u-5],n.addVertex(a[u-5],a[u-2],"circle");break;case 41:this.$=a[u-6],n.addVertex(a[u-6],a[u-3],"circle");break;case 42:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"round");break;case 43:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"round");break;case 44:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"diamond");break;case 45:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"diamond");break;case 46:this.$=a[u-3],n.addVertex(a[u-3],a[u-1],"odd");break;case 47:this.$=a[u-4],n.addVertex(a[u-4],a[u-2],"odd");break;case 48:this.$=a[u],n.addVertex(a[u]);break;case 49:this.$=a[u-1],n.addVertex(a[u-1]);break;case 51:case 78:case 80:case 91:this.$=a[u-1]+""+a[u];break;case 53:this.$=a[u-2]+"-"+a[u];break;case 54:a[u-1].text=a[u],this.$=a[u-1];break;case 55:a[u-2].text=a[u-1],this.$=a[u-2];break;case 56:this.$=a[u];break;case 57:case 76:this.$=a[u-1];break;case 58:case 60:case 62:a[u].text=a[u-2],this.$=a[u];break;case 59:case 61:case 63:a[u-1].text=a[u-3],this.$=a[u-1];break;case 64:this.$={type:"arrow",stroke:"normal"};break;case 65:this.$={type:"arrow_circle",stroke:"normal"};break;case 66:this.$={type:"arrow_cross",stroke:"normal"};break;case 67:this.$={type:"arrow_open",stroke:"normal"};break;case 68:this.$={type:"arrow",stroke:"dotted"};break;case 69:this.$={type:"arrow_circle",stroke:"dotted"};break;case 70:this.$={type:"arrow_cross",stroke:"dotted"};break;case 71:this.$={type:"arrow_open",stroke:"dotted"};break;case 72:this.$={type:"arrow",stroke:"thick"};break;case 73:this.$={type:"arrow_circle",stroke:"thick"};break;case 74:this.$={type:"arrow_cross",stroke:"thick"};break;case 75:this.$={type:"arrow_open",stroke:"thick"};break;case 92:this.$=a[u-4],n.addClass(a[u-2],a[u]);break;case 93:this.$=a[u-4],n.setClass(a[u-2],a[u]);break;case 94:this.$=a[u-4],n.setClickEvent(a[u-2],a[u]);break;case 95:this.$=a[u-4],n.addVertex(a[u-2],void 0,void 0,a[u]);break;case 96:case 97:this.$=a[u-4],n.updateLink(a[u-2],a[u]);break;case 99:this.$=[a[u]];break;case 100:a[u-2].push(a[u]),this.$=a[u-2];break;case 102:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,11:[1,3]},{1:[3]},t(r,n,{5:4}),{12:[1,5]},{1:[2,1],6:6,7:7,8:8,9:i,10:a,12:u,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{13:[1,40],15:[1,41],16:[1,42],17:[1,43],18:[1,44]},t(_,[2,3]),{8:45,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(_,[2,5]),t(_,[2,6]),t(_,[2,7]),t(D,k,{7:46,12:u,19:o}),t(D,[2,18],{7:47,12:u,19:o}),{19:[1,48]},{9:C,10:F,19:B,23:49},{9:C,10:F,19:B,23:53},{9:C,10:F,19:B,23:54},{9:C,10:F,19:B,23:55},{9:C,10:F,19:B,23:56},{9:C,10:F,19:B,23:57},{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:59,29:R,30:58,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{77:[1,79]},t(H,[2,37],{34:80,45:81,47:[1,82],48:[1,83],49:[1,84],50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),{12:[1,97]},{12:[1,98]},{12:[1,99]},{12:[1,100]},{12:[1,101]},t(it,[2,48],{43:30,42:107,12:[1,106],15:[1,105],36:[1,102],38:[1,103],40:[1,104],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(at,[2,50]),t(at,[2,52],{44:[1,108]}),t(ut,[2,125]),t(ut,[2,126]),t(ut,[2,127]),t(ut,[2,128]),t(ut,[2,129]),t(ut,[2,130]),t(ut,[2,131]),t(ut,[2,132]),t(ut,[2,133]),{9:ot,12:st,14:109,19:ct,20:112},{9:ot,12:st,14:114,19:ct,20:112},{9:ot,12:st,14:115,19:ct,20:112},{9:ot,12:st,14:116,19:ct,20:112},{9:ot,12:st,14:117,19:ct,20:112},t(_,[2,4]),t(D,[2,16]),t(D,[2,17]),t(_,[2,22]),t(_,[2,23]),t(_,[2,33]),t(_,[2,34]),t(_,[2,35]),t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),{9:C,10:F,11:T,12:S,13:L,15:N,16:O,19:B,23:118,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(lt,n,{5:120}),t(ht,[2,77]),t(dt,[2,116]),t(dt,[2,117]),t(dt,[2,118]),t(dt,[2,119]),t(dt,[2,120]),t(dt,[2,121]),t(dt,pt),t(dt,[2,123]),t(dt,[2,124]),t(dt,[2,81]),t(dt,[2,82]),t(dt,[2,83]),t(dt,[2,84]),t(dt,[2,85]),t(dt,[2,86]),t(dt,[2,87]),t(dt,[2,88]),t(dt,[2,89]),{9:ft,11:T,12:S,13:L,15:N,16:O,29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,64:121,65:122,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},{33:140,35:28,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(Bt,[2,56],{46:141,12:[1,142],62:[1,143]}),{12:[1,144]},{12:[1,145]},{12:[1,146]},t(Tt,[2,64]),t(Tt,[2,65]),t(Tt,[2,66]),t(Tt,[2,67]),t(Tt,[2,68]),t(Tt,[2,69]),t(Tt,[2,70]),t(Tt,[2,71]),t(Tt,[2,72]),t(Tt,[2,73]),t(Tt,[2,74]),t(Tt,[2,75]),{35:147,42:29,43:30,75:[1,148],76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{76:[1,149]},{35:150,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:151,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:152,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:153,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:155,32:I,38:[1,154],43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:156,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:157,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,49]),t(at,[2,51]),{43:158,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(r,[2,8]),t(r,[2,13]),t(r,[2,14]),{19:[1,159]},{12:st,19:[2,21],20:160},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(lt,n,{5:161}),t(ht,[2,78]),{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:162,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:ft,11:T,12:S,13:L,15:N,16:O,19:[2,98],29:R,32:I,36:gt,37:yt,38:mt,39:vt,40:bt,41:At,43:66,44:q,47:P,49:M,50:Et,51:xt,52:wt,53:_t,62:Dt,63:123,65:165,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,86:124,87:E,88:x,89:w,90:kt,91:Ct,92:Ft},t(Nt,[2,79]),t(Nt,[2,114]),t(Nt,[2,115]),t(Nt,[2,134]),t(Nt,[2,135]),t(Nt,[2,136]),t(Nt,[2,137]),t(Nt,[2,138]),t(Nt,[2,139]),t(Nt,[2,140]),t(Nt,[2,141]),t(Nt,[2,142]),t(Nt,[2,143]),t(Nt,[2,144]),t(Nt,[2,145]),t(Nt,[2,146]),t(Nt,[2,147]),t(Nt,[2,148]),t(H,[2,36]),t(Bt,[2,54],{12:[1,166]}),t(Bt,[2,57]),{11:T,12:S,13:L,15:N,16:O,29:R,30:167,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:168,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:169,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:170,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,171],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,172]},{12:[1,173]},{12:[1,174],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,175],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:[1,176],42:107,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,177],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,30:178,32:I,43:66,44:q,47:P,49:M,63:60,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,179],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,41:[1,180],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:S,13:L,15:N,16:O,29:R,32:I,37:[1,181],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(at,[2,53]),t(r,[2,15]),{19:[2,20]},{6:6,7:7,8:8,9:i,10:a,12:St,19:o,21:13,22:14,24:15,25:16,26:17,27:18,28:19,29:s,31:182,32:Lt,33:22,35:28,42:29,43:30,67:c,68:l,69:h,70:d,71:p,76:f,77:g,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{9:C,10:F,19:B,23:183},t(H,[2,31]),t(D,k,{7:46,31:184,12:St,19:o,32:Lt}),t(Nt,[2,80]),t(Bt,[2,55]),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,62:[1,185],63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,186],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,187],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{11:T,12:[1,188],13:L,15:N,16:O,29:R,32:I,43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{12:Ot,44:Rt,67:It,74:189,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:203,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:204,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{12:Ot,44:Rt,67:It,74:205,75:qt,76:Pt,77:Mt,78:190,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},{35:206,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},{35:207,42:29,43:30,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,38],{12:[1,208]}),{11:T,12:S,13:L,15:N,16:O,29:R,32:I,39:[1,209],43:66,44:q,47:P,49:M,63:119,66:69,67:j,68:V,69:U,70:G,71:$,73:61,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w},t(it,[2,42],{12:[1,210]}),t(it,[2,44],{12:[1,211]}),t(it,[2,46],{12:[1,212]}),{9:C,10:F,19:B,23:213},t(_,[2,30]),t(H,[2,32]),t([12,76,79,81,82,84,85,87,88,89],[2,76]),t(Ht,pt,{45:214,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:215,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(Ht,pt,{45:216,50:Y,51:z,52:W,53:K,54:Z,55:X,56:J,57:Q,58:et,59:tt,60:rt,61:nt}),t(H,[2,95],{79:Yt}),t(zt,[2,99],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(Wt,[2,101]),t(Wt,[2,103]),t(Wt,[2,104]),t(Wt,[2,105]),t(Wt,[2,106]),t(Wt,[2,107]),t(Wt,[2,108]),t(Wt,[2,109]),t(Wt,[2,110]),t(Wt,[2,111]),t(Wt,[2,112]),t(Wt,[2,113]),t(H,[2,96],{79:Yt}),t(H,[2,97],{79:Yt}),t(H,[2,92],{79:Yt}),t(H,[2,93],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(H,[2,94],{43:30,42:107,76:f,79:y,81:m,82:v,84:b,85:A,87:E,88:x,89:w}),t(it,[2,39]),{39:[1,219]},t(it,[2,43]),t(it,[2,45]),t(it,[2,47]),t(_,[2,29]),t(Bt,[2,58],{12:[1,220]}),t(Bt,[2,60],{12:[1,221]}),t(Bt,[2,62],{12:[1,222]}),{12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,78:223,80:191,81:jt,82:Vt,83:Ut,84:Gt,85:$t},t(Wt,[2,102]),t(it,[2,40],{12:[1,224]}),t(Bt,[2,59]),t(Bt,[2,61]),t(Bt,[2,63]),t(zt,[2,100],{80:218,12:Ot,44:Rt,67:It,75:qt,76:Pt,77:Mt,81:jt,82:Vt,83:Ut,84:Gt,85:$t}),t(it,[2,41])],defaultActions:{160:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w;D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Zt=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:return 67;case 1:return 68;case 2:return 69;case 3:return 70;case 4:return 71;case 5:return 11;case 6:return 29;case 7:return 32;case 8:return 13;case 9:return 13;case 10:return 13;case 11:return 13;case 12:return 13;case 13:return 13;case 14:return 76;case 15:return 84;case 16:return 82;case 17:return 9;case 18:return 79;case 19:return 89;case 20:return 16;case 21:return 15;case 22:return 17;case 23:return 18;case 24:return 52;case 25:return 50;case 26:return 51;case 27:return 53;case 28:return 56;case 29:return 54;case 30:return 55;case 31:return 57;case 32:return 56;case 33:return 54;case 34:return 55;case 35:return 57;case 36:return 60;case 37:return 58;case 38:return 59;case 39:return 61;case 40:return 47;case 41:return 48;case 42:return 49;case 43:return 44;case 44:return 85;case 45:return 87;case 46:return 77;case 47:return 88;case 48:return 88;case 49:return 81;case 50:return 62;case 51:return 38;case 52:return 39;case 53:return 36;case 54:return 37;case 55:return 40;case 56:return 41;case 57:return 92;case 58:return 19;case 59:return 12;case 60:return 10}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:--[x])/,/^(?:-->)/,/^(?:--[o])/,/^(?:---)/,/^(?:-\.-[x])/,/^(?:-\.->)/,/^(?:-\.-[o])/,/^(?:-\.-)/,/^(?:.-[x])/,/^(?:\.->)/,/^(?:\.-[o])/,/^(?:\.-)/,/^(?:==[x])/,/^(?:==>)/,/^(?:==[o])/,/^(?:==[\=])/,/^(?:--)/,/^(?:-\.)/,/^(?:==)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u005C\u005F-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_\/])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n)/,/^(?:\s)/,/^(?:$)/],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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}}};return e}();return Kt.lexer=Zt,e.prototype=Kt,Kt.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],107:[function(e,t,r){(function(n){var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[6,8,10,11,15,17,19,20,22,33],n=[2,2],i=[1,6],a=[1,8],u=[1,9],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,17],d=[1,18],p=[2,7],f=[6,8,10,11,15,17,18,19,20,21,22,33],g=[6,8,10,11,15,17,18,19,20,22,33],y=[1,46],m=[1,49],v=[1,53],b={trace:function(){},yy:{},symbols_:{error:2,start:3,SD:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,participant:11,actor:12,signal:13,note_statement:14,title:15,text:16,loop:17,end:18,opt:19,alt:20,"else":21,note:22,placement:23,text2:24,over:25,spaceList:26,actor_pair:27,",":28,left_of:29,right_of:30,signaltype:31,actors:32,ACTOR:33,SOLID_OPEN_ARROW:34,DOTTED_OPEN_ARROW:35,SOLID_ARROW:36,DOTTED_ARROW:37,SOLID_CROSS:38,DOTTED_CROSS:39,TXT:40,$accept:0,$end:1},terminals_:{2:"error",4:"SD",6:"EOF",8:"SPACE",10:"NL",11:"participant",15:"title",16:"text",17:"loop",18:"end",19:"opt",20:"alt",21:"else",22:"note",25:"over",28:",",29:"left_of",30:"right_of",33:"ACTOR",34:"SOLID_OPEN_ARROW",35:"DOTTED_OPEN_ARROW",36:"SOLID_ARROW",37:"DOTTED_ARROW",38:"SOLID_CROSS",39:"DOTTED_CROSS",40:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,3],[9,2],[9,2],[9,4],[9,4],[9,4],[9,7],[14,4],[14,5],[26,2],[26,1],[27,1],[27,3],[23,1],[23,1],[13,4],[32,2],[32,1],[12,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,1],[24,1]],performAction:function(e,t,r,n,i,a){var u=a.length-1;switch(i){case 1:return n.apply(a[u-1]),a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:this.$=a[u-1];break;case 12:a[u-1].unshift({type:"loopStart",loopText:a[u-2].actor,signalType:n.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 13:a[u-1].unshift({type:"optStart",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2].actor,signalType:n.LINETYPE.OPT_END}),this.$=a[u-1];break;case 14:a[u-4].unshift({type:"altStart",altText:a[u-5].actor,signalType:n.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2].actor,signalType:n.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[u-4];break;case 15:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 19:this.$=a[u];break;case 20:this.$=[a[u-2],a[u]];break;case 21:this.$=n.PLACEMENT.LEFTOF;break;case 22:this.$=n.PLACEMENT.RIGHTOF;break;case 23:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 26:this.$={type:"addActor",actor:a[u]};break;case 27:this.$=n.LINETYPE.SOLID_OPEN;break;case 28:this.$=n.LINETYPE.DOTTED_OPEN;break;case 29:this.$=n.LINETYPE.SOLID;break;case 30:this.$=n.LINETYPE.DOTTED;break;case 31:this.$=n.LINETYPE.SOLID_CROSS;break;case 32:this.$=n.LINETYPE.DOTTED_CROSS;break;case 33:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},t(r,n,{5:3}),{6:[1,4],7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(r,p,{1:[2,1]}),t(f,[2,3]),{9:19,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,22:h,33:d},t(f,[2,5]),t(f,[2,6]),{12:20,33:d},{10:[1,21]},{10:[1,22]},{8:[1,23]},{12:24,33:d},{12:25,33:d},{12:26,33:d},{31:27,34:[1,28],35:[1,29],36:[1,30],37:[1,31],38:[1,32],39:[1,33]},{23:34,25:[1,35],29:[1,36],30:[1,37]},t([6,8,10,11,15,17,18,19,20,21,22,28,33,34,35,36,37,38,39,40],[2,26]),t(f,[2,4]),{10:[1,38]},t(f,[2,9]),t(f,[2,10]),{16:[1,39]},t(g,n,{5:40}),t(g,n,{5:41}),t([6,8,10,11,15,17,19,20,21,22,33],n,{5:42}),{12:43,33:d},{33:[2,27]},{33:[2,28]},{33:[2,29]},{33:[2,30]},{33:[2,31]},{33:[2,32]},{12:44,33:d},{8:y,26:45},{33:[2,21]},{33:[2,22]},t(f,[2,8]),{10:[1,47]},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,48],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,50],19:c,20:l,22:h,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,19:c,20:l,21:[1,51],22:h,33:d},{24:52,40:v},{24:54,40:v},{12:56,27:55,33:d},{8:y,26:57,33:[2,18]},t(f,[2,11]),t(f,[2,12]),t(f,p),t(f,[2,13]),{12:58,33:d},{10:[2,23]},{10:[2,33]},{10:[2,15]},{12:59,33:d},{28:[1,60],33:[2,19]},{33:[2,17]},t(g,n,{5:61}),{10:[2,16]},{12:62,33:d},{6:m,7:5,8:i,9:7,10:a,11:u,12:16,13:10,14:11,15:o,17:s,18:[1,63],19:c,20:l,22:h,33:d},{33:[2,20]},t(f,[2,14])],defaultActions:{28:[2,27],29:[2,28],30:[2,29],31:[2,30],32:[2,31],33:[2,32],36:[2,21],37:[2,22],52:[2,23],53:[2,33],54:[2,15],57:[2,17],59:[2,16],62:[2,20]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=f.lex()||d,"number"!=typeof e&&(e=r.symbols_[e]||e),e}var r=this,n=[0],i=[null],a=[],u=this.table,o="",s=0,c=0,l=0,h=2,d=1,p=a.slice.call(arguments,1),f=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);f.setInput(e,g.yy),g.yy.lexer=f,g.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var v=f.options&&f.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;for(var b,A,E,x,w,_,D,k,C,F={};;){if(E=n[n.length-1],this.defaultActions[E]?x=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=t()),x=u[E]&&u[E][b]),"undefined"==typeof x||!x.length||!x[0]){var B="";C=[];for(_ in u[E])this.terminals_[_]&&_>h&&C.push("'"+this.terminals_[_]+"'");B=f.showPosition?"Parse error on line "+(s+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(b==d?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(x[0]){case 1:n.push(b),i.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,A?(b=A,A=null):(c=f.yyleng,o=f.yytext,s=f.yylineno,m=f.yylloc,l>0&&l--);break;case 2:if(D=this.productions_[x[1]][1],F.$=i[i.length-D],F._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},v&&(F._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),w=this.performAction.apply(F,[o,c,s,g.yy,x[1],i,a].concat(p)),"undefined"!=typeof w)return w; D&&(n=n.slice(0,-1*D*2),i=i.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),i.push(F.$),a.push(F._$),k=u[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},A=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,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 e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=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),r.length-1&&(this.yylineno-=r.length-1);var i=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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),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(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1?e:!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 e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 10;case 1:return 38;case 2:return 39;case 3:return 36;case 4:return 37;case 5:break;case 6:break;case 7:break;case 8:return 11;case 9:return 19;case 10:return 17;case 11:return 20;case 12:return 21;case 13:return 18;case 14:return 29;case 15:return 30;case 16:return 25;case 17:return 22;case 18:return 15;case 19:return 4;case 20:return 28;case 21:return 10;case 22:return 33;case 23:return 34;case 24:return 35;case 25:return 36;case 26:return 37;case 27:return 40;case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:[\-][x])/i,/^(?:[\-][\-][x])/i,/^(?:[\-][>][>])/i,/^(?:[\-][\-][>][>])/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:opt\b)/i,/^(?:loop\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\->:\n,;]+)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],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],inclusive:!0}}};return e}();return b.lexer=A,e.prototype=b,b.Parser=e,new e}();"undefined"!=typeof e&&"undefined"!=typeof r&&(r.parser=i,r.Parser=i.Parser,r.parse=function(){return i.parse.apply(i,arguments)},r.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),n.exit(1));var i=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return r.parser.parse(i)},"undefined"!=typeof t&&e.main===t&&r.main(n.argv.slice(1)))}).call(this,e("1YiZ5S"))},{"1YiZ5S":99,fs:97,path:98}],108:[function(e,t,r){var n={},i=[],a=[],u=[];r.addActor=function(e,t,r){n[e]={name:t,description:r},i.push(e)},r.addMessage=function(e,t,r,n){a.push({from:e,to:t,message:r,answer:n})},r.addSignal=function(e,t,r,n){a.push({from:e,to:t,message:r,type:n})},r.getMessages=function(){return a},r.getActors=function(){return n},r.getActor=function(e){return n[e]},r.getActorKeys=function(){return Object.keys(n)},r.clear=function(){n={},a=[]},r.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16},r.ARROWTYPE={FILLED:0,OPEN:1},r.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},r.addNote=function(e,t,n){var i={actor:e,placement:t,message:n};u.push(i),a.push({from:e,to:e,message:n,type:r.LINETYPE.NOTE,placement:t})},r.parseError=function(e){console.log("Syntax error:"+e)},r.apply=function(e){if(e instanceof Array)e.forEach(function(e){r.apply(e)});else switch(e.type){case"addActor":r.addActor(e.actor,e.actor,e.actor);break;case"addNote":r.addNote(e.actor,e.placement,e.text);break;case"addMessage":r.addSignal(e.from,e.to,e.msg,e.signalType);break;case"loopStart":r.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":r.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":r.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":r.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":r.addSignal(void 0,void 0,void 0,e.signalType)}}},{}],109:[function(e,t,r){var n=e("./parser/sequenceDiagram").parser;n.yy=e("./sequenceDb");var i=e("./svgDraw"),a={diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35};r.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,list:[],init:function(){this.list=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,r,n){e[t]="undefined"==typeof e[t]?r:n(r,e[t])},updateLoops:function(e,t,n,i){var u=this,o=0;this.list.forEach(function(s){o++;var c=u.list.length-o+1;u.updateVal(s,"startx",e-c*a.boxMargin,Math.min),u.updateVal(s,"starty",t-c*a.boxMargin,Math.min),u.updateVal(s,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(s,"stopy",i+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"startx",e-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"starty",t-c*a.boxMargin,Math.min),u.updateVal(r.bounds.data,"stopx",n+c*a.boxMargin,Math.max),u.updateVal(r.bounds.data,"stopy",i+c*a.boxMargin,Math.max)})},insert:function(e,t,n,i){var a,u,o,s;a=Math.min(e,n),o=Math.max(e,n),u=Math.min(t,i),s=Math.max(t,i),this.updateVal(r.bounds.data,"startx",a,Math.min),this.updateVal(r.bounds.data,"starty",u,Math.min),this.updateVal(r.bounds.data,"stopx",o,Math.max),this.updateVal(r.bounds.data,"stopy",s,Math.max),this.updateLoops(a,u,o,s)},newLoop:function(e){this.list.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e})},endLoop:function(){var e=this.list.pop();return e},addElseToLoop:function(e){var t=this.list.pop();t.elsey=r.bounds.getVerticalPos(),t.elseText=e,this.list.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var u=function(e,t,n,u){var o=i.getNoteRect();o.x=t,o.y=n,o.width=a.width,o.class="note";var s=e.append("g"),c=i.drawRect(s,o),l=i.getTextObj();l.x=t,l.y=n+a.noteMargin,l.textMargin=a.noteMargin,l.dy="1em",l.text=u.message,l.class="noteText";var h=i.drawText(s,l),d=h[0][0].getBBox().height;r.bounds.insert(t,n,t+a.width,n+2*a.noteMargin+d),c.attr("height",d+2*a.noteMargin),r.bounds.bumpVerticalPos(d+2*a.noteMargin)},o=function(e,t,i,a,u){var o,s=e.append("g"),c=t+(i-t)/2,l=s.append("text").attr("x",c).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message),h=l[0][0].getBBox().width;if(t===i){o=s.append("path").attr("d","M "+t+","+a+" C "+(t+60)+","+(a-10)+" "+(t+60)+","+(a+30)+" "+t+","+(a+20)),r.bounds.bumpVerticalPos(30);var d=Math.max(h/2,100);r.bounds.insert(t-d,r.bounds.getVerticalPos()-10,i+d,r.bounds.getVerticalPos())}else o=s.append("line"),o.attr("x1",t),o.attr("y1",a),o.attr("x2",i),o.attr("y2",a),r.bounds.insert(t,r.bounds.getVerticalPos()-10,i,r.bounds.getVerticalPos());u.type===n.yy.LINETYPE.DOTTED||u.type===n.yy.LINETYPE.DOTTED_CROSS||u.type===n.yy.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0"),o.attr("stroke-width",2),o.attr("stroke","black"),o.style("fill","none"),(u.type===n.yy.LINETYPE.SOLID||u.type===n.yy.LINETYPE.DOTTED)&&o.attr("marker-end","url(#arrowhead)"),(u.type===n.yy.LINETYPE.SOLID_CROSS||u.type===n.yy.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url(#crosshead)")};t.exports.drawActors=function(e,t,n){var u;for(u=0;u/gi).forEach(function(e){var n=r.append("tspan");n.attr("x",t.x+t.textMargin),n.attr("dy",t.dy),n.text(e)}),"undefined"!=typeof t.class&&r.attr("class",t.class),r},r.drawLabel=function(e,t){var n=r.getNoteRect();n.x=t.x,n.y=t.y,n.width=50,n.height=20,n.fill="#526e52",n.stroke="none",n.class="labelBox",r.drawRect(e,n),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,t.fill="white",r.drawText(e,t)},r.drawActor=function(e,t,n,i){var a=t+i.width/2,u=e.append("g");u.append("line").attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999");var o=r.getNoteRect();o.x=t,o.fill="#eaeaea",o.width=i.width,o.height=i.height,o.class="actor",o.rx=3,o.ry=3,r.drawRect(u,o),u.append("text").attr("x",a).attr("y",i.height/2+5).attr("class","actor").style("text-anchor","middle").text(n)},r.drawLoop=function(e,t,n,i){var a=e.append("g"),u=function(e,t,r,n){a.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(t.startx,t.starty,t.stopx,t.starty),u(t.stopx,t.starty,t.stopx,t.stopy),u(t.startx,t.stopy,t.stopx,t.stopy),u(t.startx,t.starty,t.startx,t.stopy),"undefined"!=typeof t.elsey&&u(t.startx,t.elsey,t.stopx,t.elsey);var o=r.getTextObj();o.text=n,o.x=t.startx,o.y=t.starty,o.labelMargin=1.5*i.boxMargin,o.class="labelText",o.fill="white",r.drawLabel(a,o),o=r.getTextObj(),o.text="[ "+t.title+" ]",o.x=t.startx+(t.stopx-t.startx)/2,o.y=t.starty+1.5*i.boxMargin,o.anchor="middle",o.class="loopText",r.drawText(a,o),"undefined"!=typeof t.elseText&&(o.text="[ "+t.elseText+" ]",o.y=t.elsey+1.5*i.boxMargin,r.drawText(a,o))},r.insertArrowHead=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},r.insertArrowCrossHead=function(e){var t=e.append("defs"),r=t.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},r.getTextObj=function(){var e={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return e},r.getNoteRect=function(){var e={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return e}},{}],111:[function(e,t,r){(function(t){var n=e("./diagrams/flowchart/graphDb"),i=e("./diagrams/flowchart/parser/flow"),a=e("./utils"),u=e("./diagrams/flowchart/flowRenderer"),o=e("./diagrams/sequenceDiagram/sequenceRenderer"),s=e("he"),c=function(){var e,t=document.querySelectorAll(".mermaid"),r=0;for(e=0;e/g,">"),l=l.replace(/';var h=a.detectType(l),d={};switch(h){case"graph":d=u.getClasses(l,!1),u.draw(l,c,!1),a.cloneCssStyles(i.firstChild,d),n.bindFunctions();break;case"dotGraph":d=u.getClasses(l,!0),u.draw(l,c,!0),a.cloneCssStyles(i.firstChild,d);break;case"sequenceDiagram":o.draw(l,c),a.cloneCssStyles(i.firstChild,[])}}}};r.tester=function(){},r.version=function(){return e("../package.json").version};var l=function(e,t){return"undefined"==typeof t?!1:e===t};t.mermaid={startOnLoad:!0,init:function(){c()},version:function(){return r.version()},getParser:function(){return i.parser}},r.contentLoaded=function(){t.mermaid.startOnLoad&&("undefined"!=typeof mermaid_config?l(!0,mermaid_config.startOnLoad)&&t.mermaid.init():t.mermaid.init())},"undefined"!=typeof document&&document.addEventListener("DOMContentLoaded",function(){r.contentLoaded()},!1)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":102,"./diagrams/flowchart/flowRenderer":103,"./diagrams/flowchart/graphDb":104,"./diagrams/flowchart/parser/flow":106,"./diagrams/sequenceDiagram/sequenceRenderer":109,"./utils":112,he:100}],112:[function(e,t){t.exports.detectType=function(e){return e.match(/^\s*sequenceDiagram/)?"sequenceDiagram":e.match(/^\s*sequence/)?"sequence":e.match(/^\s*digraph/)?(console.log("Detected flow syntax"),"dotGraph"):"graph"},t.exports.cloneCssStyles=function(e,t){for(var r="",n=document.styleSheets,i=0;i0&&(r+=o.selectorText+" { "+o.style.cssText+" }\n")}}}var c="",l="";for(var h in t)t.hasOwnProperty(h)&&"undefined"!=typeof h&&("default"===h?c=".node { "+t[h].styles.join("; ")+"; }\n":l+="."+h+" { "+t[h].styles.join("; ")+"; }\n");if(""!==r||""!==c||""!==l){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* */\n",e.insertBefore(d,e.firstChild)}}},{}]},{},[111]); \ No newline at end of file diff --git a/package.json b/package.json index cd19fa30c..d91564986 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "0.3.1", + "version": "0.3.2", "description": "Markdownish syntax for generating flowcharts", "main": "src/main.js", "bin": { diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 016f1e690..aca1f974d 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -60,6 +60,8 @@ exports.addVertices = function (vert, g) { verticeText = vertice.text; } + console.log(verticeText); + var radious = 0; var _shape = ''; diff --git a/src/diagrams/flowchart/graphDb.js b/src/diagrams/flowchart/graphDb.js index 6b387e08c..b34a3d2f9 100644 --- a/src/diagrams/flowchart/graphDb.js +++ b/src/diagrams/flowchart/graphDb.js @@ -228,6 +228,7 @@ exports.addSubGraph = function (list, title) { var subG = []; subG = uniq(subG.concat.apply(subG,list)); + //console.log(subG); subGraphs.push({nodes:subG,title:title}); }; diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index ef74c0be7..1963641ff 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -220,7 +220,7 @@ verticeStatement: vertex link vertex { yy.addLink($1,$3,$2);$$ = [$1,$3];} | vertex - {$$ = 'yo';} + {$$ = [$1];} ; vertex: alphaNum SQS text SQE diff --git a/src/diagrams/flowchart/parser/flow.js b/src/diagrams/flowchart/parser/flow.js index fc70cafc9..c1e7eed78 100644 --- a/src/diagrams/flowchart/parser/flow.js +++ b/src/diagrams/flowchart/parser/flow.js @@ -127,7 +127,7 @@ case 36: yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; break; case 37: -this.$ = 'yo'; +this.$ = [$$[$0]]; break; case 38: this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); diff --git a/test/web.html b/test/web.html index 11ec5521b..d7bc5dfbc 100644 --- a/test/web.html +++ b/test/web.html @@ -39,7 +39,29 @@ class green B;

Sub graphs

-
graph TB +
graph LR + subgraph old sys 1 + a1(new client)-->b1(sys1 server) + oc1(Old client)-->b2 + end + + subgraph old sys 2 + a2(new client)-->b2(sys2 server) + oc2(Old client)-->b2 + end + + subgraph old sys 3 + a3(new client)-->b3(sys3 server) + end + + subgraph New sys + a1 + a2 + a3 + end + +
+
graph TB subgraph one a1-->a2 end @@ -52,7 +74,7 @@ c1-->a2
-
graph TB +
graph TB subgraph sq[Square shape] -.-> ci((Circle shape)) od>Odd shape]-. Two line
edge comment .-> ro